Git Product home page Git Product logo

code-challenge-levee's Introduction

Backend Engineer Code Challenge - Levee

Testing GitHub language count Repository size GitHub last commit License Stargazers

Status: WIP

AboutFeaturesHow it worksTech StackAuthorLicense

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

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

# Environment variables
$ make init

# Run the application in development mode
$ make up

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

# Run tests in container
$ make test

# View logs
$ make logs

API Request

Endpoint HTTP Method Description
/v1/jobs POST Create jobs
/v1/health GET Health check

Test endpoints API using curl

  • Creating new job

Request

curl -i --request POST 'http://localhost:3001/v1/jobs' \
--header 'Content-Type: application/json' \
--data-raw '{
   "partner_id": "1",
    "title": "Sr Ruby Dev",
    "category_id": "1",
    "expires_at": "2021-02-15"
}'

Response

{
   "id":"68de685e-3a37-431f-ba6b-dcd0076e5138",
   "partner_id":"1",
   "title":"Sr Ruby Dev",
   "status":"draft",
   "category_id": "1",
   "expires_at":"2021-02-15T14:50:46Z",
   "created_at":"2021-02-08T14:50:46Z"
}

Tech Stack

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

API (Golang)

Utilities


How to contribute

  1. Fork the project.
  2. Create a new branch with your changes: git checkout -b my-feature
  3. Save your changes and create a commit message telling you what you did: git commit -m" feature: My new feature "
  4. Submit your changes: git push origin my-feature

If you have any questions check this guide on how to contribute


Author


Fabiano Leite

Twitter Badge Linkedin Badge


License 📝

This project is under the license MIT.

Made with love by Fabiano Leite 👋🏽 Get in Touch!

code-challenge-levee's People

Contributors

fabianoleittes avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

code-challenge-levee's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.