A collaborative project management web application with all the functionalities of Microsoft Project, enhanced with real-time collaboration features for multiple project managers.
- Project Creation & Management: Create, edit, and manage multiple projects
- Task Management: Create tasks, set dependencies, assign resources
- Gantt Charts: Visual project timeline with drag-and-drop functionality
- Resource Allocation: Assign team members and resources to tasks
- Timeline Scheduling: Automatic scheduling with constraint handling
- Progress Tracking: Monitor project and task completion
- Critical Path Analysis: Identify critical tasks affecting project timeline
- Budget Management: Track costs and budget allocation
- Real-time Collaboration: Multiple project managers can work simultaneously
- Shared Workspaces: Team access to projects with role-based permissions
- Live Updates: Real-time synchronization of changes across all users
- Communication Tools: Comments, notifications, and activity feeds
- Team Management: User roles and permission management
- Change Tracking: Complete audit trail of project modifications
- Backend: Node.js with Express.js
- Database: SQLite (easily upgradable to PostgreSQL/MySQL)
- Real-time: Socket.IO for live collaboration
- Frontend: Modern HTML5/CSS3/JavaScript with responsive design
- Authentication: JWT-based secure authentication
- Node.js (v14 or higher)
- npm or yarn
# Clone the repository
git clone https://github.com/Doud-FR/Project-Web-App.git
cd Project-Web-App
# Install dependencies
npm install
# Start development server
npm run dev- Open your browser and navigate to
http://localhost:3000 - Create an account or log in
- Create your first project
- Add tasks, set dependencies, and assign resources
- Invite team members to collaborate
- Use the Gantt chart to visualize and manage your project timeline
The application provides a RESTful API for all project management operations:
POST /api/auth/login- User authenticationPOST /api/auth/register- User registrationGET /api/projects- List user projectsPOST /api/projects- Create new projectGET /api/projects/:id/tasks- Get project tasksPOST /api/projects/:id/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please open an issue on GitHub or contact the development team.