A comprehensive full-stack application for managing job applications, built with modern technologies and production-ready CI/CD practices. Features Spring Boot backend, React frontend, and a complete DevOps pipeline with automated testing, security scanning, and multi-stage deployments.
# Clone the repository
git clone https://github.com/jnleyva816/Job-Application-Tracker.git
cd Job-Application-Tracker
# Start all services
docker-compose up -d
# Access the application
# Frontend: http://localhost:3000
# Backend API: http://localhost:8080
# Database: localhost:5432 (user: postgres, password: password)
Prerequisites:
- Java 17+
- Node.js 20+
- PostgreSQL 15+
- Docker (optional)
Backend Setup:
cd backend
cp .env.example .env # Configure your environment variables
./mvnw spring-boot:run
Frontend Setup:
cd frontend
npm install
npm run dev
Job-Application-Tracker/
βββ .github/workflows/ # CI/CD pipeline configuration
βββ backend/ # Spring Boot backend service
β βββ src/main/java/ # Java source code
β βββ src/test/java/ # Test code
β βββ Dockerfile # Backend container configuration
β βββ pom.xml # Maven dependencies
βββ frontend/ # React frontend application
β βββ src/ # TypeScript/React source code
β βββ tests/ # Unit tests
β βββ e2e-tests/ # End-to-end tests
β βββ Dockerfile # Frontend container configuration
β βββ package.json # Node.js dependencies
βββ deployment/ # Deployment configurations
βββ ci-cd/ # CI/CD scripts and configurations
βββ WIKI/ # Project documentation
βββ CONTRIBUTING/ # Contribution guidelines
βββ docker-compose.yml # Local development setup
- Spring Boot 3.5.0 with Java 17
- PostgreSQL database with JPA/Hibernate
- JWT Authentication with Spring Security
- RESTful API design with OpenAPI documentation
- Comprehensive Testing (Unit, Integration, Security)
- Code Quality Tools (JaCoCo, SpotBugs, PMD, Checkstyle)
- React 19 with TypeScript
- Vite for fast development and building
- Tailwind CSS for responsive design
- React Router for navigation
- Vitest for unit testing
- Playwright for E2E testing
- Docker Containers with multi-stage builds
- GitHub Actions CI/CD pipeline
- Security Scanning (OWASP, Trivy, SonarQube)
- Automated Testing across all layers
- Blue-Green Deployments with rollback capability
- β User authentication and authorization
- β Job application tracking and management
- β Company and contact management
- β Interview scheduling and tracking
- β Application status workflow
- β Data visualization and analytics
- β Responsive web interface
- β Hot reload for development
- β Comprehensive test coverage (70%+ requirement)
- β Static code analysis and security scanning
- β Database migrations with version control
- β API documentation with Swagger/OpenAPI
- β Development/staging/production environments
- β Automated builds and deployments
- β Parallel execution of frontend/backend pipelines
- β Quality gates and security checks
- β Container security scanning
- β Performance monitoring
- β Slack notifications for build status
Component | Technology | Version |
---|---|---|
Backend | Spring Boot | 3.5.0 |
Frontend | React | 19.0.0 |
Database | PostgreSQL | 15+ |
Authentication | JWT | - |
Containerization | Docker | - |
CI/CD | GitHub Actions | - |
Testing | JUnit 5, Vitest, Playwright | - |
Code Quality | SonarQube, ESLint | - |
Security | OWASP, Trivy | - |
- WIKI - Comprehensive project documentation
- Contributing Guide - How to contribute to the project
- Backend README - Backend-specific documentation
- Frontend README - Frontend-specific documentation
- Quick Setup Guide - Rapid development setup
This project implements security best practices:
- Authentication: JWT-based with secure token handling
- Authorization: Role-based access control (RBAC)
- Input Validation: Comprehensive request validation
- Security Headers: Proper HTTP security headers
- Dependency Scanning: Automated vulnerability detection
- Container Security: Non-root containers and security scanning
- Data Protection: Encrypted sensitive data storage
- Backend: Minimum 70% code coverage
- Frontend: Comprehensive unit and E2E testing
- Integration: End-to-end workflow testing
- Security: Automated security testing
- Unit Tests: Individual component testing
- Integration Tests: Service integration testing
- E2E Tests: Complete user workflow testing
- Security Tests: Authentication and authorization testing
- Performance Tests: Load and stress testing
- Development: Local development with hot reload
- Staging: Pre-production testing environment
- Production: Live application deployment
- Blue-Green Deployments: Zero-downtime deployments
- Automated Rollbacks: Failure detection and rollback
- Health Checks: Comprehensive monitoring
- Scaling: Horizontal scaling capabilities
- Application Metrics: Performance and usage metrics
- Health Endpoints: Service health monitoring
- Logging: Structured logging with different levels
- Error Tracking: Comprehensive error monitoring
- Performance Monitoring: Response time and throughput tracking
We welcome contributions! Please read our Contributing Guide for:
- Code of conduct
- Development setup
- Pull request process
- Code quality standards
- Testing requirements
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and quality checks
- Submit a pull request
- Backend API implementation
- Database schema and migrations
- JWT authentication system
- Frontend project setup with React 19
- Comprehensive CI/CD pipeline
- Docker containerization
- Security scanning and quality gates
- Multi-environment deployment setup
- E2E testing framework
- Frontend feature implementation (in progress)
- Production monitoring and alerting
- Performance optimization
- Mobile responsive enhancements
- Backend:
jleyva816/jobtracker-backend:latest
- Frontend:
jleyva816/jobtracker-frontend:latest
# Build backend image
docker build -t jleyva816/jobtracker-backend:latest ./backend
# Build frontend image
docker build -t jleyva816/jobtracker-frontend:latest ./frontend
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Project WIKI
- Contributing: Contributing Guide
This project is licensed under the MIT License - see the LICENSE file for details.
Special thanks to the open-source community and these amazing projects:
- Spring Boot - Excellent Java framework
- React - Outstanding frontend library
- GitHub Actions - Powerful CI/CD platform
- Docker - Containerization platform
- Playwright - Reliable E2E testing
- SonarQube - Code quality platform
- OWASP - Security tools and best practices
- Tailwind CSS - Utility-first CSS framework
Built with β€οΈ for modern software development practices
Last updated: January 2025