Indeed doesn't allow users to filter out job listings by company, so I'm gonna do it myself.
This is a Spring Boot app that serves a REST API and a
TypeScript + React frontend that consumes that API.
It is intended to run locally and connect to a local MySQL database storing job listings. The database is populated
beforehand by a local batch job that scrapes results from the Indeed website, using code
in another repo.
To run the server locally,
./gradlew clean bootRun
and then go to http://localhost:8080.
The frontend code lives as a subproject in the /frontend
folder. When its artifacts are built with npm run build
,
they are placed in the Spring Boot app's src/main/resources/static
folder. More notes on frontend development are in
the frontend README.md.
Run tests with
./gradlew clean test
This repo now manages the indeed
database schema with Flyway. Migration scripts are located
in src/main/resources/db/migration
and you can manually kick off the migrations with
./gradlew flywayMigrate