This is the backend API for my HirePath job application tracker, built with Spring Boot 3, Java 17, Gradle, Spring Data JPA, and Flyway.
- Java 17
- Spring Boot 3 (Web, Data JPA)
- H2 in-memory DB (dev)
- PostgreSQL (later for prod)
- Flyway for DB migrations
- JUnit + Spring Boot Test + MockMvc for testing
/health– simple health endpoint/api/jobsGET /api/jobs– list all jobsGET /api/jobs/{id}– get one jobPOST /api/jobs– create jobPUT /api/jobs/{id}– update jobDELETE /api/jobs/{id}– delete job
GET /api/jobs/{id}/suggestion– returns a suggestion string based on job statusJobentity with fields like company, position, status, jobUrl, appliedDate, notes- Flyway migration
V1__create_jobs_table.sql - Unit tests for
Joband suggestion logic - Controller test for suggestion endpoint
cd backend-java
./gradlew clean bootRun
---
## 🔍 Day 9 – SQL, Python & Regex Tools
### 1. SQL analytics (`sql/job_queries.sql`)
This file contains example queries to analyze job applications:
- Count total jobs, applied, interviews, offers, rejections
- Group jobs by company and status
- Find applications older than a certain number of days
Run with `psql` (example):
```bash
psql -h localhost -U jobtracker_user -d jobtracker_db -f sql/job_queries.sql
---
## ✅ Day 9 – SQL, Python & Regex Utilities
Today’s focus was on analytics and helper tools around the JobTracker backend.
### 1. SQL Analytics (`sql/job_queries.sql` and `sql/job_data_report.sql`)
These files contain example queries to analyze job applications:
- Count total jobs, interviews, offers, rejections
- Group applications by company and status
- Find older applications (e.g., applied more than N days ago)
- Basic reporting for how many jobs are in each stage
Example usage (with PostgreSQL):
```bash
psql -h localhost -U jobtracker_user -d jobtracker_db -f sql/job_queries.sql
psql -h localhost -U jobtracker_user -d jobtracker_db -f sql/job_data_report.sql
---
---
## 🐳 Run Backend with Docker
This project includes Docker support for running the Spring Boot backend without installing Java or Gradle locally.
### Prerequisites
- Docker
- Docker Compose
### Build & Run
```bash
docker compose up --build