Skip to content

πŸš€ AI-powered GitHub Insight & Project Management tool β€” track commits, manage tasks, and visualize team productivity effortlessly.

License

Notifications You must be signed in to change notification settings

asepindrak/commitflow

🧠 CommitFlow - Smart Project Insights

License: MIT Docker OpenAI TypeScript Node.js Contributions Welcome

CommitFlow is an AI-powered project management and analytics platform designed for modern development teams.
It connects with your GitHub repositories to automatically analyze commits, visualize contributor activity, and provide smart project insights β€” while also helping teams manage tasks via an integrated Kanban board.

With CommitFlow, you can plan, track, and analyze your projects β€” all in one place.


CommitFlow Preview

Chat 1 Chat 2

πŸ“ Folder Structure

.
β”œβ”€β”€ backend/               # Backend API (NestJS)
β”œβ”€β”€ frontend/              # Frontend web app (React + Vite)
β”œβ”€β”€ scripts/               # Helper shell scripts
β”œβ”€β”€ .env.sample            # Environment variable example
β”œβ”€β”€ docker-compose.dev.yml # Docker setup for development (with hot reload)
β”œβ”€β”€ docker-compose.yml     # Docker setup for production
└── README.md              # Project documentation

✨ Features

πŸ€– AI-Powered Insights

  • πŸ’‘ AI Recommendations – Get automatic suggestions for prioritization and sprint planning.
  • 🧠 Smart Summaries – Let AI summarize repository activity and project status.
  • πŸ—£οΈ Insight Chatbot – Ask questions like β€œwhich tasks are in progress??” or β€œwho contributed the most to the commitflow repo?”

🧭 Project Management

A beautiful, AI-assisted workspace for managing your projects and tasks:

  • πŸ—‚ Kanban Board – Organize tasks visually using drag-and-drop.
    Each task card shows priority color accents, assignee avatars, and due dates.
  • πŸ“‹ List View – See all tasks in a clean table layout; click any row to open task details.
  • πŸ“† Timeline View – A Gantt-style horizontal timeline to visualize progress and overlaps between tasks.
  • πŸ’¬ Task Details Modal –
    • Rich text editor (React Quill) for descriptions
    • File attachments (via AWS S3 integration)
    • Inline comments with author, timestamp, and preview links
  • 🎨 Smart Selectors –
    • Assignee and Priority fields powered by React Select, dynamically colored per user or priority level
  • πŸ—ƒοΈ Workspace Management –
    Add workspace.
  • 🧱 Project Management Sidebar –
    • Create or delete projects easily
    • Integrated SweetAlert2 confirmations for safe deletions
  • 🧍 Team Management –
    Add or remove team members using modern UI components, with color-coded avatars automatically generated.
    • Toast notifications (react-toastify) for success actions (e.g., project or member added)
  • πŸŒ™ Dark/Light Mode Aware –
    Smooth color transitions and well-tuned contrast for both themes.
  • Due date labels: Due Today & Overdue
  • Filter Assigned to Me

πŸ’¬ Team Coordination

  • Follow up tasks via WhatsApp
    • Generates dynamic wa.me link (manual click β€” no API yet)
    • Pre-filled message with task title & status
  • Real-time collaboration coming soon
  • Follow up tasks via WhatsApp
  • Automatic email notifications sent to team members when tasks are updated
  • Invite team members via email with secure join links

πŸ”„ Offline‑First Sync

  • Works seamlessly without internet
  • Local storage caching (offline‑first approach)
  • Auto‑synchronization when back online

πŸ“Š Developer Insights

  • πŸ“ˆ GitHub Analytics – Fetch organization repositories, commits, and contributor stats.
  • πŸ” Contribution Breakdown – Understand who contributes what and when.
  • πŸ“† Activity Timeline – Visualize commit frequency and collaboration trends.

🎨 Interactive UI

  • Smooth animations
  • Responsive layout
  • Clean, minimalist UX with focus on productivity

πŸ› οΈ Tech Stack

Frontend

  • React + Vite
  • TypeScript
  • TailwindCSS
  • Zustand (State Management)
  • LocalStorage / IndexedDB (Offline Sync)
  • React Query (Data Fetching & Sync Management)
  • Socket.IO Client (Real-time updates)
  • React Quill (Rich Text Editor)
  • SweetAlert2 (Dialogs)
  • React Toastify (Notifications)
  • Framer Motion / GSAP (Animations & interactive UI)
  • XLSX (Export Excel)

Backend

  • Nest.js
  • TypeScript
  • Prisma ORM
  • PostgreSQL
  • Socket.IO Gateway (Real-time events)
  • Nodemailer (Email Delivery via SMTP)
  • Multer (File upload middleware)
  • Class Validator / Class Transformer
  • Swagger (API documentation)
  • Google TTS API
  • AWS SDK for S3 Storage
  • JWT Authentication (Access & Refresh Tokens)
  • OpenAI API Integration (AI features / content generation)

🐳 Infrastructure & Security

  • πŸ—„οΈ PostgreSQL Database – Structured project and task data.
  • ☁️ AWS S3 Storage – Media & attachments.
  • βœ‰οΈ SMTP Email (Nodemailer) – Invitations & notifications.
  • πŸ” Environment Variables (.env) – Secure credential management.
  • πŸ“‘ WebSocket Gateway – Realtime updates via Socket.IO.
  • πŸ”‘ JWT Authentication – Secure login, workspace access, and API protection.
  • πŸ€– OpenAI Integration – AI-driven generation (text, automation, suggestions).
  • πŸ“ LocalStorage + IndexedDB – Offline-first data with auto-sync.
  • πŸ“˜ Swagger UI – API documentation.

βš™οΈ Requirements

  • Docker and Docker Compose
  • A GitHub Personal Access Token (with repo scope)
  • An OpenAI API Key (for AI Insights & Automation)
  • AWS S3 Credentials (for document and image storage)

πŸš€ Setup with Docker

1. Copy the environment file

cp .env.sample .env

Then fill in your configuration values:

# Environment
NODE_ENV="development"

# Logger
DISCORD_WEBHOOK_URL=
LOG_LEVEL=info

# PostgreSQL
POSTGRES_USER=postgres
POSTGRES_PASSWORD=password
POSTGRES_DB=commitflow
DB_PORT=5432

# pgAdmin
PGADMIN_EMAIL=admin@example.com
PGADMIN_PASSWORD=admin123
ADMIN_PORT=8080

# Prisma
DATABASE_URL=postgresql://postgres:password@db:5432/commitflow

# Backend
BE_PORT=8000
OPENAI_API_KEY=
BASE_URL=http://localhost:8000
API_KEY=""
JWT_SECRET=""

# GitHub Integration
GITHUB_OWNER=
GITHUB_TOKEN=

# Frontend
FE_PORT=3000
VITE_API_URL="http://localhost:8000"

# S3 Storage
S3_BUCKET_NAME=
S3_REGION=
S3_ACCESS_KEY=
S3_SECRET_KEY=
# S3 COMPATIBLE STORAGE
S3_ENDPOINT_URL=

# Mail Server
SMTP_HOST=host.docker.internal
SMTP_PORT=587
SMTP_USER=task@commitflow.space
SMTP_PASS=
SMTP_SECURE=false    # true for SMTPS(465), false for STARTTLS (587)
FROM_NAME=CommitFlow
FROM_ADDRESS=task@commitflow.space

Note: Use db as the PostgreSQL host inside Docker (not localhost).


2. Build and start all containers

For production:

./scripts/build.sh

For development (with hot reload and live updates):

./scripts/build.dev.sh

3. Verify running containers

docker ps
Service URL
Frontend http://localhost:3000
Backend http://localhost:8000
pgAdmin http://localhost:8080

4. Access pgAdmin

  • Email: admin@example.com
  • Password: admin123

Then add a new PostgreSQL server:

Field Value
Host db
Database commitflow
User postgres
Password password

🧩 Prisma

If this is your first time running CommitFlow, run a Prisma database sync:

docker exec -it commitflow-api npx prisma db push

The scripts/build.sh script automatically handles Prisma setup on first run.


🧠 Running the Application

Development (hot reload):

NODE_ENV="development"

Production:

NODE_ENV="production"

You can switch between development and production using different Docker Compose files.


Swagger Openapi

http://localhost:8000/docs

🀝 Contributing

CommitFlow is open source and welcomes contributions!
If you’d like to improve the Kanban UI, enhance the AI insights, or build integrations for new project tools β€” feel free to fork and open a pull request.


🧾 License

This project is licensed under the MIT License.
Feel free to use, modify, and distribute it for both personal and commercial projects.


πŸ’¬ Credits

Created with ❀️ by developers who love open source, AI, and productivity.

About

πŸš€ AI-powered GitHub Insight & Project Management tool β€” track commits, manage tasks, and visualize team productivity effortlessly.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages