This is a Todo Web application built using Spring MVC, Spring Boot, Spring Security, JPA, JSP, and Maven for project building. It supports different datastores including a static local list, H2 database, and MySQL and contained using Docker.
- User Authentication and Authorization with Spring Security
- CRUD operations for managing todos
- Multiple data storage options
Before running the application, make sure you have the following installed:
- Java Development Kit (JDK)
- Maven
- MySQL Server (optional, if you want to use MySQL)
- Docker (if you use MySQL database)
Follow these steps to get the project up and running on your local machine:
-
Clone this repository:
git clone https://github.com/Shubhamghude808/ToDoWebApp.git
-
Navigate to the project directory:
cd ToDoWebApp
-
Build the project using Maven:
mvn clean package
-
Run the application:
java -jar target/ToDoWebApp-1.0.0.jar
-
Access the application in your browser:
By default, the application uses a static local list for storing todos. If you want to use H2 database or MySQL, you can configure the datasource properties in the application.properties
file located in src/main/resources
.
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
- Log in using the default credentials:
- Username: Shubham/Anish
- Password: 1/anish
- You can now manage your todos: create, read, update, and delete.
spring.datasource.url=jdbc:mysql://localhost:3306/todo_db
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
- Navigate to http://localhost:3306 in your browser.
- Log in using the default credentials:
- Username: todos-user
- Password: dummytodos
- You can now manage your todos: create, read, update, and delete.
This project is licensed under the MIT License - see the LICENSE file for details.