The Project Management Tracker is a web application designed to help me manage projects, teams, members, and tasks. It provides a comprehensive solution for tracking project progress and managing team activities.
- Create and manage projects
- Add teams to projects
- Add members to teams
- Assign tasks to members
- Track task progress
- Generate reports
- Backend: Node.js, Express, MySQL
- Frontend: React
- Database: MySQL
- Node.js (v14 or later)
- MongoDB (v4 or later)
- Clone the Repository:
git clone https://github.com/Gideon-Buba/ProjectTracker.git cd project-tracker
This document outlines the relational structure of the data in a project management app similar to Asana. The app includes entities such as Users, Projects, Tasks, and Comments, along with their relationships.
- Users: Represents the users of the application.
- Projects: Represents the projects created by users.
- Tasks: Represents the tasks within projects.
- Comments: Represents the comments on tasks.
- A User can create multiple Projects.
- A Project can have multiple Tasks.
- A Task is created by a User and can be assigned to a User.
- A Task can have multiple Comments.
- A Comment is made by a User on a Task.
+----------------+ +----------------+ +----------------+ +----------------+
| Users | | Projects | | Tasks | | Comments |
+----------------+ +----------------+ +----------------+ +----------------+
| id (PK) |<------>| id (PK) |<------>| id (PK) |<------>| id (PK) |
| username | | name | | title | | task_id (FK) |
| email | | description | | description | | user_id (FK) |
| password | | created_by (FK)| | project_id (FK)| | content |
| created_at | | created_at | | created_by (FK)| | created_at |
| updated_at | | updated_at | | assigned_to (FK)| | updated_at |
+----------------+ +----------------+ | due_date | +----------------+
| | status |
| | created_at |
| | updated_at |
+----------------+ +----------------+