Skip to content

Backend service for a job application tracking platform (Java, Spring Boot). Implements health endpoint, job suggestion service, and backend skeleton.

Notifications You must be signed in to change notification settings

Niki-004/HirePath

Repository files navigation

HirePath – JobTracker Backend

This is the backend API for my HirePath job application tracker, built with Spring Boot 3, Java 17, Gradle, Spring Data JPA, and Flyway.

Tech Stack

  • 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

Current Features (Day 7)

  • /health – simple health endpoint
  • /api/jobs
    • GET /api/jobs – list all jobs
    • GET /api/jobs/{id} – get one job
    • POST /api/jobs – create job
    • PUT /api/jobs/{id} – update job
    • DELETE /api/jobs/{id} – delete job
  • GET /api/jobs/{id}/suggestion – returns a suggestion string based on job status
  • Job entity with fields like company, position, status, jobUrl, appliedDate, notes
  • Flyway migration V1__create_jobs_table.sql
  • Unit tests for Job and suggestion logic
  • Controller test for suggestion endpoint

How to Run

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

About

Backend service for a job application tracking platform (Java, Spring Boot). Implements health endpoint, job suggestion service, and backend skeleton.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published