The Task Management Application is a full-stack project designed to help users manage tasks and projects efficiently. It includes features like user authentication, project creation, task assignment, and real-time status updates. The application is built with Spring Boot on the backend and React.js on the frontend.
- User Authentication: Secure user registration and login with JWT-based authentication.
- Project Management: Create, view, and manage multiple projects.
- Task Management: Add, update, delete, and organize tasks within projects.
- Role-Based Access Control: Protect sensitive endpoints with user-specific access.
- Responsive Design: A modern, user-friendly interface powered by React.js.
- Database Integration: Data persistence with MySQL.
- Spring Boot
- Spring Security (JWT for authentication)
- MySQL (Relational Database)
- Hibernate/JPA (Data persistence)
- Maven (Build tool)
- React.js
- Axios (API integration)
- React Router (Client-side routing)
Ensure the following are installed:
- Java 17 or above
- Node.js and Yarn
- MySQL
- Maven
- Clone the repository:
git clone https://github.com/your-username/task-management-app.git cd task-management-app/backend - Configure the database:
- Create a database named taskmanager.
- Update the credentials in src/main/resources/application.properties.
spring.datasource.url=jdbc:mysql://localhost:3307/taskmanager spring.datasource.username=your-username spring.datasource.password=your-password
- Build and run the backend:
mvn clean install mvn spring-boot:run
- Backend will run on http://localhost:8080
- Navigate to the frontend directory:
cd ../frontend - Install dependencies:
yarn install
- Start the frontend server:
yarn start
- Frontend will run on http://localhost:3000.
- POST /auth/login: User login
- POST /users/register: User registration
- GET /projects: Fetch all projects
- POST /projects: Create a new project
- GET /tasks/{projectId}: Fetch tasks for a specific project
- POST /tasks: Create a new task
- DELETE /tasks/{id}: Delete a task
task-management-app/
|-- backend/
| |-- src/main/java/com/taskmanager
| | |-- config/
| | |-- controllers/
| | |-- dto/
| | |-- entities/
| | |-- repositories/
| | |-- services/
| | |-- TaskmanagerApplication.java
| |-- src/main/resources/
| |-- application.properties
|-- frontend/
| |-- src/
| | |-- components/
| | |-- pages/
| | |-- services/
| | |-- App.js
| |-- package.json