Collaborative, role-based task board with physical inspection workflows β modeling software pull-request reviews in an industrial work-order system.
Visuals before source code: A recruiter can understand the application in under 30 seconds.
Traditional Kanban tools (like Trello or Jira) suffer from accountability gaps: any team member can drag a card to "Done" without peer review or verification.
Foreman Kanban solves this by introducing a strict Inspection & Approval Workflow inspired by Git pull-request review cycles:
- Managers open work orders, set task complexity (Low, Medium, High), assign crew members, and inspect completed jobs.
- Employees view assigned work, start jobs, and submit completed tasks for manager inspection.
- Work is never "Done" until a Manager explicitly signs off. If work fails inspection, the Manager sends it back with required rejection feedback for rework.
Built with an industrial "Foreman" design system featuring dark wood panels, amber accents, paper-textured tickets, pin-board metaphors, and interactive stamp animations (APPROVED vs SENT BACK).
- π Role-Based Access Control (RBAC): Server-enforced roles (
managervsemployee) via Firebase Auth ID tokens and MongoDB bindings. - βοΈ Strict State Machine Engine: Validates transitions (
todoβin_progressβsubmitted_for_reviewβdone). Prevents illegal jumps or employee self-approval. - π₯ Manager Inspection Queue: A dedicated "PR Inbox" where managers approve or reject pending submissions with feedback.
- π Paper Ticket UI & Stamp Animations: Tactile industrial UI with complexity indicators and approval/rejection stamps.
- π³ Full DevOps Infrastructure: Containerized with multi-stage Dockerfiles, orchestrated via Docker Compose, and packaged with minikube Kubernetes manifests (
k8s/). - β‘ Automated CI/CD: GitHub Actions workflows for continuous integration (
ci.yml) and continuous cloud deployment (cd.yml).
| Layer | Technology | Hosting / Deployment |
|---|---|---|
| Frontend | React 19, Vite 8, React Router DOM 7, Vanilla CSS | Vercel |
| Backend | Python 3.12, FastAPI 0.115, Motor Async Driver, Pydantic v2 | Render |
| Database | MongoDB Atlas (M0 Free Cluster) | MongoDB Cloud |
| Auth | Firebase Authentication (Email/Password + Bearer ID Token verification) | Firebase Cloud |
| DevOps | Docker, Docker Compose, Kubernetes (minikube), GitHub Actions CI/CD | GitHub / Cloud |
graph TD
Client[React 19 SPA - Vercel] -->|HTTPS + Bearer ID Token| API[FastAPI Backend - Render]
Client -->|Auth Credentials| Firebase[Firebase Auth Service]
API -->|Verify Token| Firebase
API -->|Async Motor Driver| Mongo[(MongoDB Atlas)]
subgraph Security Middleware
API --> RoleGuard[Role Guard Middleware]
RoleGuard --> StateEngine[Task State Machine]
end
For comprehensive technical design documents, data schemas, developer guides, and ADRs:
- π System Architecture Details
- π REST API Specification
- π οΈ Setup & Installation Guide
- π User & Workflow Guide
- π» Developer & Codebase Guide
- π‘οΈ Security Architecture
- π‘ Architecture Decision Records (ADRs)
- π Academic Specification Archive
-
Clone the repository:
git clone https://github.com/sedmugen/foreman-kanban.git cd foreman-kanban -
Backend Setup:
cd backend python -m venv venv # Windows: venv\Scripts\activate | Linux/macOS: source venv/bin/activate pip install -r requirements.txt cp .env.example .env uvicorn app.main:app --reload --port 8000
-
Frontend Setup:
cd frontend npm install cp .env.example .env npm run dev
Run the complete multi-container stack (mongo, backend, frontend) with a single command:
docker-compose up --buildAccess points:
- Frontend App:
http://localhost - Backend API Health:
http://localhost:8000/api/health
kubectl apply -f k8s/- Log in with a Manager account.
- Click + New Work Order to create a task, set complexity, and assign an employee.
- Track progress on the Job Board.
- When tasks enter the Inspection Queue, click Confirm to mark
Doneor Send Back with required feedback.
- Log in with an Employee account.
- View assigned work orders on your dashboard.
- Click Start Job to move a task from
To DotoIn Progress. - Click Submit for Inspection to request manager review.
- If sent back, review inline rejection feedback and resubmit when fixed.
- Multi-tier cloud deployment (Vercel + Render + MongoDB Atlas).
- Strict state machine engine & role guard middleware.
- Docker multi-stage containerization & Kubernetes manifests.
- GitHub Actions CI/CD pipelines.
- Real-time WebSocket notifications for pending inspections.
- Analytics dashboard for task completion velocity.
This project is licensed under the MIT License.
- Ismail β Team Lead, Integration, Docker/K8s & CI/CD Pipeline
- Ibrahim β Backend Engineer, FastAPI, Role Guard & State Machine Logic
- Saad β Frontend Engineer, React UI, Firebase Auth & Industrial Design System