A collaborative web-based task tracker for teams, built with Java/Spring Boot, Python/FastAPI, and React.
- Real-time Collaboration: Multiple team members can work simultaneously
- Project Management: Create and manage multiple projects
- Task Tracking: JIRA-like task management with priorities and statuses
- Team Management: Assign tasks and manage team members
- Deployment Tracking: Monitor deployment status and progress
- Responsive UI: Works on desktop, tablet, and mobile devices
- Java Spring Boot API (Port 8080): Main REST API for project and task management
- Python FastAPI Service (Port 8000): Analytics, reporting, and data processing
- PostgreSQL Database: Centralized data store
- React + Vite: Fast, modern UI with real-time updates
- Axios: HTTP client for API communication
- Tailwind CSS: Utility-first CSS framework
- Docker & Docker Compose
- Node.js 20+ (for frontend development)
- JDK 17+ (for Java backend development)
- Python 3.11+ (for Python backend development)
- PostgreSQL 16+ (if running locally without Docker)
# Clone and navigate to project
cd Team-Project-Task-Tracker
# Start all services
docker-compose up -d
# Access the application
- Frontend: http://localhost:5173
- Java API: http://localhost:8080/api
- Python API: http://localhost:8000
- Database: localhost:5432docker run --name task_tracker_db \
-e POSTGRES_USER=tasktracker \
-e POSTGRES_PASSWORD=tasktracker_pass \
-e POSTGRES_DB=task_tracker_db \
-p 5432:5432 \
postgres:16-alpinecd backend-java
mvn clean install
mvn spring-boot:runcd backend-python
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python -m uvicorn app.main:app --reloadcd frontend
npm install
npm run devTeam-Project-Task-Tracker/
βββ backend-java/ # Spring Boot REST API
β βββ src/main/java/
β β βββ com/tasktracker/
β β βββ api/ # REST Controllers
β β βββ model/ # JPA Entities
β β βββ repository/ # Data Access Layer
β β βββ service/ # Business Logic
β βββ pom.xml
β βββ Dockerfile
βββ backend-python/ # FastAPI service
β βββ app/
β β βββ api/ # API routes
β β βββ models/ # SQLAlchemy models
β β βββ services/ # Business logic
β βββ requirements.txt
β βββ Dockerfile
βββ frontend/ # React application
β βββ src/
β β βββ components/ # Reusable components
β β βββ pages/ # Page components
β β βββ hooks/ # Custom React hooks
β β βββ App.jsx
β βββ package.json
β βββ Dockerfile
βββ database/ # Database migrations
β βββ V1__Initial_Schema.sql
βββ deployment/ # Kubernetes configs
β βββ kubernetes-java.yaml
β βββ kubernetes-python.yaml
βββ docs/ # Documentation
βββ docker-compose.yml # Docker Compose config
- users: Team members
- teams: Team groupings
- user_teams: Many-to-many relationship between users and teams
- projects: Projects managed by teams
- tasks: Individual tasks with JIRA-like tracking
- TODO
- IN_PROGRESS
- IN_REVIEW
- DONE
- BLOCKED
- LOW
- MEDIUM
- HIGH
- CRITICAL
GET /api/v1/tasks- Get all tasksGET /api/v1/tasks/{id}- Get task by IDPOST /api/v1/tasks- Create new taskPUT /api/v1/tasks/{id}- Update taskDELETE /api/v1/tasks/{id}- Delete taskGET /api/v1/tasks/project/{projectId}- Get tasks by project
cd backend-java
mvn testcd backend-python
pytestcd frontend
npm testdocker-compose up -d# Deploy Java backend
kubectl apply -f deployment/kubernetes-java.yaml
# Deploy Python backend
kubectl apply -f deployment/kubernetes-python.yamlThe project includes GitHub Actions workflow for:
- Building and testing all services
- Running linters and formatters
- Docker image building
- Deployment to production
See .github/workflows/ci-cd.yml for details.
- All team members can view real-time task updates
- Assign tasks to team members
- Track deployment progress
- Monitor project status
- View team member availability
DB_HOST=localhost
DB_PORT=5432
DB_NAME=task_tracker_db
DB_USER=tasktracker
DB_PASSWORD=tasktracker_pass
DATABASE_URL=postgresql://tasktracker:tasktracker_pass@localhost:5432/task_tracker_db
VITE_API_URL=http://localhost:8080/api
VITE_PYTHON_API_URL=http://localhost:8000
- Install dependencies across all services
- Configure environment variables
- Start the database
- Run migrations
- Start all backend services
- Start the frontend
- Create a feature branch
- Make your changes
- Run tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please reach out to the team.