About • Tech Stack • Features • How it works • Author • License
This API simplifies the interaction between companies and candidates, enabling organizations to display job positions and efficiently handle applicant profiles. Candidates can easily register within the system, sharing detailed information, including descriptions and CVs, and apply for positions with ease.
-
Candidates:
- Register
- Authenticate
- Check profile
- List jobs by filter
- Apply for a job
- Update Profile
-
Companies:
- Register
- Authenticate
- Create a job position
- View candidates for a job
- Update job position
- Close job position
- Update profile
This instructions will allow you to run a functional version of the project on your local machine.
Before you begin, you will need to have the following tools installed on your machine: Git, JDK, Maven. In addition, it is good to have an editor to work with the code like VSCode or IntelliJ.
# Clone this repository
$ git clone git@github.com:yagoinacio/job-board-server.git
# Access the project folder cmd/terminal
$ cd job-board-server
# install the dependencies
$ mvn dependency:copy-dependencies
To be able tu run the application you need to set up the environment variables.
For that, create the files db.env.properties
(containing database variables) and app.env.properties
(containing the application variables).
You can follow the examples bellow:
# db.env.properties:
POSTGRES_USER=admin
POSTGRES_PASSWORD=admin
POSTGRES_DB=job_board
POSTGRES_HOST=localhost
# app.env.properties:
SECURITY_TOKEN_SECRET = mP63^#Y#S4Ie
SECURITY_TOKEN_SECRET_CANDIDATE = @bJtFd@Q8khP
# If you don't have a running database, run
$ docker compose up -d
# Run the application in development mode
$ mvn spring-boot:run
# The server will start at port: 8080 - go to http://localhost:8080
You can try out the API using its swagger documentation on http://localhost:8080/swagger-ui/index.html
# Run automated tests
$ mvn test
# The test automation will run for unit and integration tests
Yago Faran 💧
This project is under the license MIT.
Made with ❤️ by Yago Faran 👋🏽 Get in touch!