Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yassinekrn/project-management-web-application
A project and task management tool that simplifies collaboration for small to medium-sized teams. Built with Node.js, TaskBridge offers role-specific interfaces for owners and workers to manage projects, assign tasks, and track progress seamlessly.
https://github.com/yassinekrn/project-management-web-application
collaboration-tool ejs expressjs jwt-authentication mongodb nodejs project-management task-management
Last synced: 6 days ago
JSON representation
A project and task management tool that simplifies collaboration for small to medium-sized teams. Built with Node.js, TaskBridge offers role-specific interfaces for owners and workers to manage projects, assign tasks, and track progress seamlessly.
- Host: GitHub
- URL: https://github.com/yassinekrn/project-management-web-application
- Owner: Yassinekrn
- License: mit
- Created: 2024-11-07T20:53:47.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-15T15:47:43.000Z (28 days ago)
- Last Synced: 2025-01-15T18:11:02.976Z (28 days ago)
- Topics: collaboration-tool, ejs, expressjs, jwt-authentication, mongodb, nodejs, project-management, task-management
- Language: EJS
- Homepage:
- Size: 580 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![TaskBridge Logo](./assets/TaskBridge_README_Banner.png)
---
**TaskBridge** is an intuitive project and task management tool built to streamline collaboration and enhance productivity. Designed as a learning project using **Node.js**, it provides a role-based system tailored for project owners and workers.
---
### **📋 Features**
#### **🔒 Owner Interface**
- **Project Management:**
- Create, edit, and delete projects.
- View project details and track overall progress.
- **Task Management:**
- Create, update, and delete tasks.
- Assign deadlines and monitor task progress.
- **Profile Management:**
- Update personal details such as username and email.
- **Authentication:**
- Secure login/signup for project owners.#### **🧑 Worker Interface**
- **Task Management:**
- View assigned tasks and task details.
- Update task status to reflect progress.
- **Profile Management:**
- Edit personal information (e.g., username, email, expertise).
- **Authentication:**
- Role-based secure login for workers.---
### **🚀 Tech Stack**
| **Category** | **Technology** |
| ------------------- | ----------------------------------- |
| Backend Framework | Node.js, Express.js |
| Database | MongoDB, Mongoose |
| Frontend Templating | EJS |
| Styling | Tailwind CSS |
| Authentication | JSON Web Tokens (JWT), bcrypt |
| Utilities & Tools | dotenv, helmet, compression, morgan |
| Logging | Winston |---
### **🔧 Project Structure**
```
TaskBridge/
├── config/ # Database configuration
├── controllers/ # Application logic
├── logs/ # Log files
├── middlewares/ # Request handling middleware
├── models/ # Mongoose schemas
├── routes/ # API endpoints
├── utils/ # Utility functions
├── views/ # EJS templates
├── app.js # App configuration
├── server.js # Server entry point
├── package.json # Dependencies and scripts
```---
### **📊 UML Diagrams**
#### **Class Diagram**
![Class Diagram](./assets/class_diagram.png)
#### **Use Case Diagram**
![Use Case Diagram](./assets/use_case_diagram.png)
---
### **⚙️ Installation and Setup**
#### **Prerequisites**
- **Node.js** (v16+)
- **MongoDB**#### **Steps**
1. Clone the repository:
```bash
git clone https://github.com/Yassinekrn/Project-Management-Web-Application.git
cd Project-Management-Web-Application
```
2. Install dependencies:
```bash
npm install
```
3. Configure the environment:
Create a `.env` file in the root directory:
```env
MONGO_URI=mongodb://localhost:27017/
JWT_SECRET=
NODE_ENV=development
PORT=3000
```
4. Run the application:
```bash
npm run dev
```
The server will be live at `http://localhost:3000`.---
### **✨ Future Enhancements**
- Implement detailed task analytics and reports.
- Add calendar integration for task deadlines.
- Enable notifications for task updates.
- Build a mobile-friendly interface.---
### **📝 License**
This project is licensed under the MIT License. See the [LICENSE](link_to_license) file for details.
---
### **💬 Contributing**
We welcome contributions!
- Fork the repository.
- Create a feature branch: `git checkout -b feature/`.
- Commit changes: `git commit -m "Add "`.
- Push to the branch: `git push origin feature/`.
- Open a pull request.---
**TaskBridge**: Streamline your projects, collaborate better. ✨