[Side Project] Service to find jobs published openly on the web. This service do crawler to find jobs and parse HTML.
- Back-end
- Front-end
- Docker
- Database related
- Testing
- Maven
- NPM
- Java related
- JavaScript/TypeScript/React related
- Shell scripting
- Java OpenJDK 17 (I recommend sdkman)
- Maven (You can use sdkman)
- Docker
- Postman
- DBeaver
You can get the service running with ./mvnw spring-boot:run
. But you
need the database running to be able to run the service. You can start
the database in a Docker container with docker run -t -i -p 5432:5432 -e POSTGRES_USER=$DATASOURCE_USER -e POSTGRES_PASSWORD=$DATASOURCE_PASS -e POSTGRES_DB=$DATASOURCE_NAME -v data:/var/lib/postgresql/fastdata postgres:14.6-bullseye
The server should start at the port 8080
Build:
docker build -t ghcr.io/ricardo-campos-org/fast-jobs:1.0 .
Remember you need a Postgres instance up and running!
docker run -d -p 5432:5432 \
--name fast-jobs-postgres \
-e POSTGRES_USER=${DATASOURCE_USER} \
-e POSTGRES_DB=${DATASOURCE_NAME} \
-e POSTGRES_PASSWORD=${DATASOURCE_PASS} \
postgres:13.9-bullseye
Running:
docker run -t -i --net=host \
--name fast-jobs \
--env-file .env \
ghcr.io/ricardo-campos-org/fast-jobs:1.0
Running with Docker Compose:
docker-compose up --build
Cleaning up Docker Compose:
docker-compose down --remove-orphans
Unit tests run with surefire maven plugin.
You can run all unit tests running with ./mvnw clean test
Integration tests run with failsafe maven plugin.
You can run all integration tests running with ./mvnw clean verify
You can run all tests with:
./mvnw --no-transfer-progress clean verify test
And before making any changes, make sure the checkstyle is passing
./mvnw --no-transfer-progress checkstyle:checkstyle -Dskip.checkstyle=false