Cumin Dashboard is a full-stack Jira-inspired project management tool built with Flask, React (Vite), and PostgreSQL. It supports firm-level collaboration with task tracking, role-based access control, reports, and more.
cumin-dashboard/ ├── backend/ # Flask API with PostgreSQL ├── frontend/ # React + Vite frontend ├── README.md
- Role-based access: Firm admin, project-level, and team-level roles
- Task & project management with types, priorities, and progress tracking
- Team creation and member assignment
- Activity logging and real-time notifications
- Project reports and visual analytics
- User onboarding via join requests
- Frontend: React + Vite, Tailwind CSS
- Backend: Flask (Python), Flask-JWT-Extended, SQLAlchemy
- Database: PostgreSQL
- Hosting: Render (Free Tier for demo)
- Python 3.8+
- Node.js 16+
- PostgreSQL
- Git
- Navigate to the backend directory:
cd backend
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create a
.env
file in thebackend/
directory with the following:
CORS_ORIGINS=*
FLASK_ENV=development
SECRET_KEY=your-secret-key
DATABASE_URL=postgresql://username:password@localhost:5432/your_db_name
JWT_SECRET_KEY=your-jwt-secret-key
JWT_HEADER_NAME=Authorization
JWT_HEADER_TYPE=Bearer
- Set up the database:
flask db init
flask db migrate
flask db upgrade
- Start the development server:
flask run
- Open a new terminal and navigate to the frontend directory:
cd frontend
- Install dependencies:
npm install
- Create a
.env
file in thefrontend/
directory:
VITE_API_URL=http://localhost:5000/api
- Start the Vite dev server:
npm run dev
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000/api
Ensure PostgreSQL is running and that your .env
files match your local configuration.
⚠ Note: Initial loading may be slow due to Render’s free-tier hosting (cold starts).
This project is intended for educational and demo purposes. Licensing can be added based on future requirements.