Skip to content

fabianoleittes/code-challenge-levee-ruby

Repository files navigation

Backend Engineer Code Challenge - Levee

Testing GitHub language count Repository size GitHub last commit License Stargazers

Status: WIP

About β€’ Features β€’ How it works β€’ Tech Stack β€’ Author β€’ License

About

This project is a simple API for some Job routines, such as creating, listing, and activate.


Features

  • Create job
  • List the all jobs
  • Activate the status for a specific job
  • List the percentage and number of active jobs by category.
  • JWT Token Based Authentication
  • API versioning
  • JSON Schema implementation
  • Setup scripts

How it works

This project is Restful API:

  1. Backend

Pre-requisites

Before you begin, you will need to have the following tools installed on your machine: docker, docker compose, Git.

In addition, it is good to have an editor to work with the code like VSCode

Running the Backend (server)

# Clone this repository
$ git clone https://github.com/fabianoleittes/code-challenge-levee-ruby

# Access the project folder cmd/terminal
$ cd code-challenge-levee-ruby

# building the project
$ docker-compose build

# Run the application in development mode
$ docker-compose up

# The server will start at port: 3000 - go to http://localhost:3000

# Run tests in container
$ docker-compose run --rm api bin/rspec spec

API Request

Signup/Login

URL / ENDPOINT VERB DESCRIPTION
/v1/signup POST Create user
/v1/auth/login POST Generate token

Jobs

URL / ENDPOINT VERB DESCRIPTION
/v1/jobs POST Create Job
/v1/jobs GET Returns all Job
/v1/jobs/:id PUT Update Job Status
/v1/category/:id GET List percentage

Test endpoints API using Insomnia

Run in Insomnia


Tech Stack

The following tools were used in the construction of the project:

See more Gemfile

Utilities


Author


Fabiano Leite

Twitter Badge Linkedin Badge


License πŸ“

This project is under the license MIT.

Made with love by Fabiano Leite πŸ‘‹πŸ½ Get in Touch!