Skip to content

Simple application for the management of companies' job offers and applicant profiles.

License

Notifications You must be signed in to change notification settings

YagoInacio/job-board-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub language count Repository size GitHub last commit License Made by Yago Faran

Logo Yago Faran

AboutTech StackFeaturesHow it worksAuthorLicense

💻 Job Board Server

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.

🛠 Tech Stack

✨ Features

  • 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

🚀 How it works

This instructions will allow you to run a functional version of the project on your local machine.

📋 Pre-requisites

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.

🔧 Instalation

# 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

🔧 Configuration

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

🎲 Running the application

# 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

✅ Running automated tests

# Run automated tests
$ mvn test

# The test automation will run for unit and integration tests

🦸 Author


Yago Faran 💧

Github Badge Linkedin Badge Gmail Badge

📝 License

This project is under the license MIT.

Made with ❤️ by Yago Faran 👋🏽 Get in touch!

About

Simple application for the management of companies' job offers and applicant profiles.

Topics

Resources

License

Stars

Watchers

Forks

Languages