The Task Management System is a full-stack web application designed to help users organize and track their tasks efficiently. It leverages React.js for the frontend, Node.js with Express for the backend, and MySQL as the relational database to store user, folder, and task data. With features such as task creation, completion tracking, and real-time updates, this system enhances productivity by making task management seamless and intuitive.
- Task Operations: Create, update, delete, and mark tasks as completed.
- User Management: Register and manage multiple users, each with personal tasks.
- Folder and To-Do List Support: Organize tasks under folders and to-do lists.
- Persistent Data: Data is stored securely in a MySQL database.
- API Integration: RESTful APIs handle backend communication.
- Real-Time Updates: Dynamic UI reflects task status changes.
- Frontend: React.js, HTML, CSS
- Backend: Node.js, Express.js
- Database: MySQL
- Package Manager: npm
- Build Tool: Vite.js
- Node.js and npm installed.
- MySQL installed and running.
- MySQL Workbench (optional for database management).
-
Clone the Repository
Open your terminal and run:git clone https://github.com/AliveTube/Task-Management-System.git cd Task-Management-System -
Install Dependencies
Install both frontend and backend dependencies:npm install cd Server npm install cd ..
-
Set Up MySQL Database
- Open MySQL Workbench or your preferred SQL client.
- Run the SQL script provided in
Database Creation.txtto create the required tables and relationships:
-
Configure Database Connection
Update the MySQL credentials inServer/config/db.js:const mysql = require('mysql'); const db = mysql.createConnection({ host: 'localhost', user: 'root', password: 'your_password', database: 'mysql2' }); db.connect((err) => { if (err) throw err; console.log('MySQL Connected...'); }); module.exports = db;
-
Run the Backend Server
Start the backend server:cd Server node server.js -
Run the Frontend Application
From the project’s root directory, start the frontend:npm run dev
-
Open the Application
Visithttp://localhost:5173in your browser to interact with the Task Management System.
- Login or Register: Use the test account:
- Email: Test1@gmail.com
- Password: Test1@gmail.com
- Manage Tasks: Add, update, and delete tasks from to-do lists and folders.
- Organize Content: Group tasks under specific folders or lists.
- Track Progress: Monitor task statuses (Pending, InProgress, Completed) in real-time.
- MySQL Connection Issues: Verify the MySQL server is running and your credentials are correct.
- Port Conflicts: Modify the default port in
vite.config.jsif needed. - Missing Dependencies: Run
npm installto install any missing packages.
- Implement a more user-friendly database connection setup, removing the need for manual configuration by the user.
- Ahmed Abd El-Wahab
GitHub: Ahmed Abd El-Wahab - Abdelrahman Wael
GitHub: Abdelrahman Wael - Karim Hossam
GitHub: Karim Hossam - Omar Farrag
GitHub: Omar Farrag