This project is a full-stack to-do list application built with Spring Boot for the backend and Next.js for the frontend.
├── backend/ # Spring Boot backend
└── frontend/ # Next.js frontend
The backend is a RESTful API built with Spring Boot that provides endpoints for user authentication and to-do item management.
Key Components
- Authentication : Handles user registration, login, and logout
- To-Do Management: Manages CRUD operations for to-do items
API Endpoints
Authentication
POST /api/v1/auth/signup: Create a new user accountPOST /api/v1/auth/signin: Authenticate a user and receive a JWT tokenPOST /api/v1/auth/logout: Log out a user
To-Do Operations
GET /api/v1/todos: Get all to-dos for the authenticated userPOST /api/v1/todos: Create a new to-do itemPUT /api/v1/todos/{id}: Update an existing to-do itemDELETE /api/v1/todos/{id}: Delete a to-do item
- Spring Boot 3.5.0
- Spring Security with JWT Authentication
- Spring Data JPA
- PostgreSQL
- Lombok
- Java 21
The frontend is a responsive web application built with Next.js that provides a user-friendly interface for managing to-do items.
Key Pages
/: Landing page/signin: User login page/signup: User registration page/dashboard: Main dashboard for managing to-do items
Technologies Used
- Next.js
- React
- TypeScript
- Shadcn UI components
- Lucide React icons
git clone https://github.com/Ayush272002/Todo-List
cd Todo-List- Navigate to the backend directory:
cd backend-
Configure your database in the
.envfile (see.env.examplefor required variables) -
Run the Spring Boot application:
./mvnw spring-boot:run- Navigate to the frontend directory:
cd frontend-
Configure your environment variables in the
.envfile (see.env.examplefor required variables) -
Install dependencies:
pnpm install- Run the development server:
pnpm dev- Open http://localhost:3000 in your browser
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature - Make your changes and commit them:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/YourFeature - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.