Skip to content

Repository files navigation

ProjectFlow

License: MIT TypeScript React Vite

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.

Overview

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.


✨ Key Features

  • 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.

🛠� Tech Stack

  • Frontend Framework: React
  • Language: TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • Data Visualization: Chart.js

🚀 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Installation

  1. Clone the repository \\�ash git clone https://github.com/KHALEDNOAMAN/ProjectFlow.git cd ProjectFlow \\
  2. Install dependencies \\�ash npm install \\
  3. Start the development server \\�ash npm run dev \\

� Project Structure

\\ 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) \\

🧩 Key Components

  • \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.

🗺� Roadmap

  • Integration with GitHub/GitLab
  • Custom workflow states
  • Time tracking capabilities
  • Export reports to PDF/CSV

�


Architecture

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│   React UI  │────►│  State Mgmt  │────►│  Chart.js   │
│  (Kanban,   │     │  (Context +  │     │  (Burndown, │
│   Sprint)   │     │   Reducers)  │     │   Velocity) │
└─────────────┘     └──────────────┘     └─────────────┘
       │                    │
       ▼                    ▼
┌─────────────┐     ┌──────────────┐
│  DnD Kit    │     │  LocalStorage│
│ (Drag/Drop) │     │  (Persist)   │
└─────────────┘     └──────────────┘

How It Works

  1. Create a Project with team members and sprint duration
  2. Add Tasks to the backlog with labels, priority, and story points
  3. Plan Sprints by dragging tasks from backlog to sprint
  4. Track Progress on the Kanban board (To Do → In Progress → Done)
  5. View Analytics with burndown charts and velocity tracking
  6. Run Retrospectives with the built-in retro board

Screenshots & Demo

Kanban 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 ││
│ └──────────────┘ │ └──────────────┘  │ └────────┘│
└──────────────────────────────────────────────────┘

Burndown Chart

Story Points
30 │ ╲
   │  ╲___
20 │      ╲  ── Ideal
   │       ╲___ Actual
10 │           ╲___
   │               ╲
 0 └──────────────────
   Day1  3  5  7  10

Live Demo

npm install && npm run dev → Open http://localhost:5173

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (\git checkout -b feature/AmazingFeature)
  3. Commit your changes (\git commit -m 'Add some AmazingFeature')
  4. Push to the branch (\git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License.

About

Agile Project Management Tool with Kanban Boards, Sprint Planning, Burndown Charts & Team Analytics. Built with React, TypeScript, Vite, and Chart.js.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages