A modern, full-stack web application for tracking issues, featuring robust authentication, real-time statistics, and a beautiful, responsive UI.
- Node.js 18+
- Python 3.13+
- MongoDB running locally or in the cloud
- Backend API (
server/):
cd server
npm install
# Create .env (see server/README.md)
npm run devDefault: http://localhost:3000
- Frontend (
client/):
cd client
npm install
# Optional: set VITE_API_URL (defaults to http://localhost:3000/api)
npm run devDefault: http://localhost:5173
- AI Service (
ai-service/):
cd ai-service
python -m venv .venv && .\.venv\Scripts\activate
pip install -r requirements.txt
# Set OPENAI_API_KEY in .env (see ai-service/README.md)
uvicorn app.main:app --reload --host 0.0.0.0 --port 8001Default: http://localhost:8001
- User Authentication
Secure registration and login with JWT & bcrypt - Issue Management
Create, view, update, and delete issues via RESTful API Real-time data fetching, caching, and sync with React Query - AI Assistance
Integrated AI service for contextual help and automation via backend proxy - Filtering & Search
Filter and search by status, priority, or keywords (with debounced input) - Dashboard & Statistics
Real-time statistics and charts aggregated on the server - Protected & Guest Routes
Route protection with middleware based on authentication state - Responsive UI & Reusable Components
Built with React's component-based architecture for flexibility and reusability - Validation & Error Handling
Server-side validation with Zod and consistent error responses
Issue Tracker/
├── client/ # Frontend application
├── server/ # Backend application
├── ai-service/ # AI separate service (FastAPI)
└── README.md # Project overview
For details and environment variables, see:
client/README.md,server/README.md, andai-service/README.md.
The ai-service/ is a separate FastAPI service that provides AI-powered capabilities. It is accessed by the backend (server) as an internal dependency and proxied to the client. This keeps the client decoupled from model providers and centralizes configuration.
This project is organized for scalability and maintainability:
- Frontend and backend are fully decoupled
- Clear modularization for components, routes, and utilities
- Modern best practices for code quality, security, and performance