A modern agile project management platform with Kanban boards, Sprint planning, and detailed analytics.
ProjectFlow is a comprehensive Agile project management tool designed to streamline team workflows. It features intuitive Kanban boards, robust sprint planning capabilities, and rich visualizations like burndown charts and team workload analytics to keep your projects on track.
ProjectFlow is a modern agile project management platform built for software development teams. It provides a visual Kanban board with drag-and-drop, sprint planning tools, and real-time analytics to help teams ship faster and track progress effectively.
Inspired by tools like Jira and Linear, but designed to be lightweight, fast, and open-source.
- Kanban Board: Interactive drag-and-drop boards for seamless task progression.
- Sprint Planning & Backlog: Easily manage product backlogs and plan upcoming sprints.
- Advanced Analytics: Visualize progress with burndown and velocity charts powered by Chart.js.
- Team Workload Management: Monitor team capacity and balance workloads effectively.
- Powerful Filtering: Quickly find tasks using advanced search, filtering, and custom labels.
- Real-time Collaboration: Keep the whole team in sync with real-time updates.
- Dark Mode Support: Built-in dark mode for comfortable viewing in low-light environments.
- Responsive Design: Fully optimized experience across desktop, tablet, and mobile devices.
- Frontend Framework: React
- Language: TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- Data Visualization: Chart.js
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository \\�ash git clone https://github.com/KHALEDNOAMAN/ProjectFlow.git cd ProjectFlow \\
- Install dependencies \\�ash npm install \\
- Start the development server \\�ash npm run dev \\
\\ ext src/ ├── components/ # Reusable UI components (Buttons, Modals, etc.) ├── features/ # Feature-specific components (Kanban, Sprints, Analytics) ├── hooks/ # Custom React hooks ├── context/ # React Context providers for state management ├── utils/ # Helper functions and utilities ├── types/ # TypeScript type definitions └── assets/ # Static assets (images, icons) \\
- \KanbanBoard: Core component handling drag-and-drop task management.
- \SprintPlanner: Interface for organizing backlog items into structured sprints.
- \AnalyticsDashboard: Central hub for burndown charts, velocity tracking, and workload metrics.
- Integration with GitHub/GitLab
- Custom workflow states
- Time tracking capabilities
- Export reports to PDF/CSV
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ React UI │────►│ State Mgmt │────►│ Chart.js │
│ (Kanban, │ │ (Context + │ │ (Burndown, │
│ Sprint) │ │ Reducers) │ │ Velocity) │
└─────────────┘ └──────────────┘ └─────────────┘
│ │
▼ ▼
┌─────────────┐ ┌──────────────┐
│ DnD Kit │ │ LocalStorage│
│ (Drag/Drop) │ │ (Persist) │
└─────────────┘ └──────────────┘
- Create a Project with team members and sprint duration
- Add Tasks to the backlog with labels, priority, and story points
- Plan Sprints by dragging tasks from backlog to sprint
- Track Progress on the Kanban board (To Do → In Progress → Done)
- View Analytics with burndown charts and velocity tracking
- Run Retrospectives with the built-in retro board
┌──────────────────────────────────────────────────┐
│ Sprint 5 - Week 2 [+ Task] │
│──────────────────────────────────────────────────│
│ 📋 To Do (3) │ 🔄 In Progress (2)│ ✅ Done (5)│
│ ┌──────────────┐ │ ┌──────────────┐ │ ┌────────┐│
│ │ Auth system │ │ │ API redesign │ │ │ Login ││
│ │ 🔴 High 5sp │ │ │ 🟡 Med 8sp │ │ │ ✅ 3sp ││
│ └──────────────┘ │ └──────────────┘ │ └────────┘│
│ ┌──────────────┐ │ ┌──────────────┐ │ ┌────────┐│
│ │ Dark mode │ │ │ Dashboard │ │ │ Signup ││
│ │ 🟢 Low 2sp │ │ │ 🔴 High 5sp │ │ │ ✅ 5sp ││
│ └──────────────┘ │ └──────────────┘ │ └────────┘│
└──────────────────────────────────────────────────┘
Story Points
30 │ ╲
│ ╲___
20 │ ╲ ── Ideal
│ ╲___ Actual
10 │ ╲___
│ ╲
0 └──────────────────
Day1 3 5 7 10
npm install && npm run dev→ Openhttp://localhost:5173
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- 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
This project is licensed under the MIT License.