DashTrack is a comprehensive task management system built using the MERN stack (MongoDB, Express.js, React.js, and Node.js) along with Socket.io for real-time communication. The system provides a range of features including a calendar view, kanban board view, list view, real-time chat, and notifications, making it a versatile solution for managing project tasks and collaboration.
These are the technologies and frameworks used to build this project.
-
User Invitation: The system provides an email-based invitation system, allowing project members to invite colleagues or stakeholders to join a specific project. Invited members receive an email containing an invitation link, which grants them access to the project and its associated tasks.
-
Team Formation: Users can form teams within a project to improve collaboration and streamline task assignment. Team members can be grouped together based on their roles, responsibilities, or areas of expertise. This feature enhances communication and coordination among team members working on the same project.
-
Robust Security Measures: includes features such as one-time passwords (OTPs) for user authentication, ensuring that only authorized individuals can access the system. Additionally, user verification mechanisms add an extra layer of security by validating user identities.
-
Task Assignment: Project managers or team leaders can assign tasks to specific users or teams within the project. This feature streamlines task distribution, ensuring that responsibilities are clearly defined and assigned to the appropriate individuals or groups.
-
Task Priority Setting: Users can set priority levels for tasks to indicate their importance or urgency. This feature helps in organizing and managing tasks effectively, allowing team members to focus on critical tasks and meet project deadlines efficiently.
-
Multiple Tasks View Options
-
Calendar View: The system offers a user-friendly calendar view that allows users to visualize tasks and deadlines in a monthly, weekly, or daily format. It provides an intuitive interface for managing task schedules and tracking progress.
-
Kanban Board View: With the kanban board view, users can organize tasks into different columns such as "To Do," "In Progress," and "Done." This visual representation helps teams to easily manage and track the status of tasks throughout the project lifecycle.
-
List View: The list view provides a straightforward and convenient way to manage tasks in a linear format. Users can create, edit, and prioritize tasks, ensuring an efficient workflow and task management process.
-
-
Real-time Chat: The integrated real-time chat feature enables seamless communication and collaboration among team members. Users can initiate group chats, create private conversations, share files, and discuss task-related details in real-time.
-
Notifications: The system keeps users informed about important updates and activities through real-time notifications. Users receive notifications for task assignments, due date reminders, comments, and other relevant events, ensuring that everyone stays up to date with the project's progress.
Color | Hex |
---|---|
Primary Color | #222831 |
Secondary Color | #393E46 |
Accent Color | #00ADB5 |
Text Color | #EEEEEE |
This project uses npm as package manager
npm -v
Clone the project
git clone https://github.com/johannesteshome/dashtrack-task-management-system.git
Go to the project directory
cd dashtrack-task-management-system
Install dependencies for each front-end and back-end
cd frontend
npm install
Start the server
cd backend
npm install
npm run dev
- Team Chat
- Kanban View of Tasks
- Mobile Responsiveness
- Google Calendar Integration
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Contributions are always welcome!
Yohannes Teshome - @linkedin - [email protected] Yabsera Haile - @linkedin - [email protected] Haymanot Demis - @linkedin - [email protected]
Project Link: Here
We would like to thank the following resources and websites that helped us in building this project