{"id":18431108,"url":"https://github.com/sandesh300/task-management-system","last_synced_at":"2025-04-14T23:54:39.850Z","repository":{"id":238993259,"uuid":"798195713","full_name":"sandesh300/Task-Management-System","owner":"sandesh300","description":"The Task Management System uses Java, Spring Boot for the backend, React for the frontend, and MySQL for the database.","archived":false,"fork":false,"pushed_at":"2024-05-12T18:57:36.000Z","size":361,"stargazers_count":6,"open_issues_count":2,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T23:54:12.853Z","etag":null,"topics":["java","jwt-authentication","mysql","react","rest-api","spring-boot","spring-data-jpa","spring-mvc","spring-security"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandesh300.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-09T09:34:47.000Z","updated_at":"2025-03-17T08:07:48.000Z","dependencies_parsed_at":"2024-11-06T05:37:10.501Z","dependency_job_id":null,"html_url":"https://github.com/sandesh300/Task-Management-System","commit_stats":null,"previous_names":["sandesh300/task-management-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandesh300%2FTask-Management-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandesh300%2FTask-Management-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandesh300%2FTask-Management-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandesh300%2FTask-Management-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandesh300","download_url":"https://codeload.github.com/sandesh300/Task-Management-System/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248981261,"owners_count":21193144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jwt-authentication","mysql","react","rest-api","spring-boot","spring-data-jpa","spring-mvc","spring-security"],"created_at":"2024-11-06T05:23:32.344Z","updated_at":"2025-04-14T23:54:39.826Z","avatar_url":"https://github.com/sandesh300.png","language":"JavaScript","readme":"# Task Management Web Application\n\nThis is a comprehensive task management system that empowers users to efficiently organize their tasks. This full-stack application combines the robustness of Spring Boot on the backend, the responsiveness of React.js on the frontend, and the reliability of MySQL as the database.\n\n## Features \n### User Authentication \nUsers can register and log in to access the system securely.\nAuthentication ensures that only authorized users can perform operations.\n\n### Task Operations \n\n- **Add Tasks :** Users can effortlessly add new tasks to the system.\n- **View Tasks  :** A user-friendly interface displays all tasks for quick and easy reference.\n- **Edit Tasks :** Users have the flexibility to modify task details as needed.\n- **Delete Tasks  :** Unwanted tasks can be removed to keep the task list organized.\n- **Mark as Complete :** Users can mark tasks as complete for effective progress tracking.\n\n\n## Tech Stack \n**Client:** React, ViteJS, BootStrap\n**Server:** Java, Spring Boot\n**Database:** MySQL\n\n## Architecture\nThe Task Management System follows a client-server architecture, with a backend built using Java and Spring Boot serving as the server-side application. The frontend is developed using React, providing a user-friendly interface for interacting with the system. MySQL is used as the database to store task-related data.\n\n## Modules\n- Backend: Contains the Java and Spring Boot application responsible for handling business logic and database operations.\n- Frontend: Includes the React application responsible for providing a user interface for interacting with the system.\n- Database: Contains the MySQL database schema and scripts for creating and managing the database.\n\n## Project Setup\n## Backend Setup\n- Clone the repository.\n- Navigate to the backend directory.\n- Configure the MySQL database connection in application.properties.\n- Run the Spring Boot application using your IDE or the command line.\n## Frontend Setup\n- Navigate to the frontend directory.\n- Install dependencies using npm install.\n- Start the React application using npm run dev.\n ## Database Setup\n- Create a MySQL database.\n- Execute the database schema script provided in the database directory to create the necessary tables.\n- Update the database connection details in the backend application properties.\n\n## API Endpoints Documentation\n\n### 1. Create Task\n\n- **Endpoint:** `POST http://localhost:8080/api/v1/tasks/user/1`\n- **Description:** Creates a new task for the specified user.\n- **Request Body:**\n  ```json\n  {\n    \"task\": \"go to swim\",\n    \"details\": \"go to swim\"\n  }\n - **Response Body:**\n   ```json\n   {\n    \"message\": \"Task Saved\",\n   \"data\": {\n    \"id\": 1,\n    \"task\": \"go to swim\",\n    \"details\": \"go to swim\",\n    \"completed\": false,\n    \"taskCreatedAt\": \"Timestamp\",\n    \"user\": {\n      \"userId\": 1,\n      \"username\": \"sandesh\",\n      \"email\": \"sandesh@gmail.com\"\n        }\n      }\n   }\n\n\n### 2. Get Task by ID\n- **Endpoint**: GET- `http://localhost:8080/api/v1/tasks/1`\n- **Description**: Retrieves a task by its ID.\n- Response Body:\n```json\n{\n  \"message\": \"Found task\",\n  \"data\": {\n    \"id\": 1,\n    \"task\": \"go to swim\",\n    \"details\": \"go to swim\",\n    \"completed\": false,\n    \"taskCreatedAt\": \"Timestamp\",\n    \"user\": {\n      \"userId\": 1,\n      \"username\": \"sandesh\",\n      \"email\": \"sandesh@gmail.com\"\n    }\n  }\n}\n\n\n```\n### 3. Get All Tasks for User\n- **Endpoint**: GET- `http://localhost:8080/api/v1/tasks/user/1`\n- **Description**: Retrieves all tasks for the specified user.\n- Response Body:\n```json\n\n[\n  {\n    \"id\": 1,\n    \"task\": \"go to swim\",\n    \"details\": \"go to swim\",\n    \"completed\": false,\n    \"taskCreatedAt\": \"Timestamp\",\n    \"user\": {\n      \"userId\": 1,\n      \"username\": \"sandesh\",\n      \"email\": \"sandesh@gmail.com\"\n    }\n  },\n  {\n    \"id\": 2,\n    \"task\": \"play cricket\",\n    \"details\": \"play cricket\",\n    \"completed\": true,\n    \"taskCreatedAt\": \"Timestamp\",\n    \"user\": {\n      \"userId\": 1,\n      \"username\": \"sandesh\",\n      \"email\": \"sandesh@gmail.com\"\n    }\n  }\n]\n\n```\n### 4. Update Task\n- **Endpoint**: PUT- `http://localhost:8080/api/v1/tasks/1`\n- **Description**: Updates the details of a task.\n- Request Body:\n```json\n\n{\n  \"task\": \"go to swim in the afternoon\",\n  \"details\": \"go to swim in the afternoon\"\n}\n```\n- Response Body:\n```json\n\n{\n  \"message\": \"Task updated!\",\n  \"data\": {\n    \"id\": 1,\n    \"task\": \"go to swim in the afternoon\",\n    \"details\": \"go to swim in the afternoon\",\n    \"completed\": false,\n    \"taskCreatedAt\": \"Timestamp\",\n    \"user\": {\n      \"userId\": 1,\n      \"username\": \"sandesh\",\n      \"email\": \"sandesh@gmail.com\"\n    }\n  }\n}\n\n```\n\n### 5. Delete Task\n- **Endpoint**: DELETE- `http://localhost:8080/api/v1/tasks/1`\n- **Description**: Deletes a task by its ID.\n- Response Body:\n```json\n\n{\n  \"message\": \"Task deleted successfully\"\n}\n\n```\n---------------------------------------------------------------------------------------\n## video\nhttps://github.com/sandesh300/Task-Management-System/assets/92014891/f699a9a7-2f60-442c-8061-a076ad9dbfdb\n\n## MySQL Database Snapshot -\n### Task \n![image](https://github.com/sandesh300/Task-Management-System/assets/92014891/1aa8dfb3-2ece-4fef-b8f1-4ae84c543a25)\n\n### User\n![image](https://github.com/sandesh300/Task-Management-System/assets/92014891/204a45c1-f436-4ac5-a6f4-3573b2121a5a)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandesh300%2Ftask-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandesh300%2Ftask-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandesh300%2Ftask-management-system/lists"}