https://github.com/asepindrak/commitflow
π AI-powered GitHub Insight & Project Management tool β track commits, manage tasks, and visualize team productivity effortlessly.
https://github.com/asepindrak/commitflow
ai docker github-insights nestjs nodejs open-source prisma project-management react typescript
Last synced: about 1 month ago
JSON representation
π AI-powered GitHub Insight & Project Management tool β track commits, manage tasks, and visualize team productivity effortlessly.
- Host: GitHub
- URL: https://github.com/asepindrak/commitflow
- Owner: asepindrak
- License: mit
- Created: 2025-11-03T05:32:09.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-11-03T06:54:10.000Z (5 months ago)
- Last Synced: 2025-11-03T07:16:47.487Z (5 months ago)
- Topics: ai, docker, github-insights, nestjs, nodejs, open-source, prisma, project-management, react, typescript
- Language: TypeScript
- Homepage:
- Size: 519 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# π§ CommitFlow - Smart Project Insights
[](./LICENSE)





**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.
---
## 
| 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](https://www.docker.com/get-started) 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
```bash
cp .env.sample .env
```
Then fill in your configuration values:
```env
# 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:
```bash
./scripts/build.sh
```
For development (with hot reload and live updates):
```bash
./scripts/build.dev.sh
```
---
### 3. Verify running containers
```bash
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:
```bash
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):**
```bash
NODE_ENV="development"
```
**Production:**
```bash
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.