A web application for tracking Jira metrics, including rework ratio analysis for engineering teams.
- Frontend: Next.js 16, React 19, Tailwind CSS
- Backend: Python FastAPI, Uvicorn
- Integration: Jira Cloud REST API
- Node.js 18+
- Python 3.11+
- Docker & Docker Compose (optional, for containerized setup)
- Jira Cloud API credentials
# Copy environment file and configure
cp backend/.env.example .envEdit .env with your configuration:
DEBUG=false
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/jira_dashboard
REDIS_URL=redis://localhost:6379/0
CORS_ORIGINS=["http://localhost:3000"]# Start backend
docker compose up
# In a separate terminal, start frontend
cd frontend
npm install
npm run devBackend:
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reloadFrontend:
cd frontend
npm install
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
| Endpoint | Description |
|---|---|
GET /api/health |
Health check |
GET /api/boards |
List Jira boards |
GET /api/rework/* |
Rework ratio metrics |
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run test:e2e # Run Playwright E2E testsuvicorn app.main:app --reload # Start with hot reloadjira-dashboard/
├── backend/
│ ├── app/
│ │ ├── api/ # API routes (health)
│ │ ├── boards/ # Boards module
│ │ ├── core/ # Config, settings
│ │ └── rework/ # Rework ratio module
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # React components
│ └── package.json
├── docker-compose.yml
└── .env
Private project.