Code Monkey home page Code Monkey logo

bilemo-api's People

Contributors

zuruuh avatar

Watchers

 avatar  avatar

bilemo-api's Issues

Delete user route

Create an endpoint to delete a user.
Only allow the owner of the user to delete it.
Return http 204.

Estimated Time: 1H

Create user route

Create an endpoint to create a user using POST data.
Automatically link the user's owner to the requesting client.

Estimated Time: 2H

JWT middleware

Return a new JWT on each request with a valid authorization header.

Estimated Time: 2H

Create User entity

Create a user entity with the following fields:

  • Id
  • Client
  • Name
  • Balance

Estimated Time: 1H

Create login route

Create a login endpoint to authenticate users.
Request's body should have a json object containing a "username" and a "password" property.
If credentials are valid, api should return a jwt.

Estimated Time: 2H

Setup hostmanagers

Use iamluc/docker-hostmanager to allow direct connexion from browsers or http client to server using the default network name.

Estimated Time: 1H

Get single user route

Create an endpoint to get a specific user based on it's id.
Restrict the access to the user base on the request's jwt.
Only the owner (client) of the user should be allowed to access it.

Estimated Time: 1H

Create Product Entity

Create a product entity with the following fields:

  • Id
  • Name
  • Os
  • Manufacturer
  • Price
  • Stock
  • Created At
  • Last Update

Estimated Time: 1H

Create api docs

Create docs using markdown & allow api users to access it using the /api/docs endpoint.

Estimated Time: 2H

Create an authentication middleware

Check the "Authorization" header on controller requests which implements the ProtectedRoute interface.
Return http 403 if the token is not valid.

Estimated Time: 4H

Get list of products

Return a cursor paginated list of products.
Base pagination on their id.

Estimated Time: 1H

Setup Makefile

Create Makefile to simplify installation and interactions with docker containers.

Estimated Time: 4H

Response Caching

Cache responses' content & identify them by the user who requested it + the id or cursor requested (if there are any)

Get list of users

Return a cursor paginated list of users.
Base pagination on their order of creation & owner.
Only return the requesting client's users

Estimated Time: 1H30

Configure Cors

Use Cors Bundle to allow external requests (must manually setup allowed urls in .env.prod on prod env)

Estimated Time: 1H

Edit user route

Create an endpoint to update a user based on it's id.
Only allow the owner of the user to edit it.

Estimated Time: 3H

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.