bilemo-api's People
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 Doctrine Data Fixtures
Estimated Time: 30mins
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
Integrate Codacy to Github CI Pipeline
Estimated Time: 1H
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 product route
Create an endpoint to get a specific product based on it's id
Estimated Time: 30mins
Setup unit tests
Estimated Time: 2H
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
Setup Docker Environment
Setup php, nginx and postgres using docker images.
Estimated Time: 4H
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
Setup Cursor Pagination
Create a custom repository class to simplify cursor based pagination.
Estimated Time: 1H
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
Create postgresql database
Setup Postgres using docker.
Estimated Time: 1H
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)
Setup nginx config
Estimated Time: 2H
Create CI Pipeline using github actions
Estimated Time: 2H
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
Use Symfony Forms for Request Body Manipulation
Estimated Time: 2H
Setup HTTP/2 Proxy
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.