byob's People
byob's Issues
checklist
Abstract
BYOB is a one week long solo project. It is ungraded and intended as a way to get comfortable with building databases using Express, Knex, and PostgreSQL. You will be building a RESTful API, complete with professional-grade documentation. This knowledge will be directly applicable to the next paired project, Palette Picker.
- Each table must have no fewer than three columns.
Required endpoints
-
4 GET endpoints
-
2 GET endpoints for all of one resource (i.e. '/api/v1/merchants')
-
2 GET endpoints for a specific resource (i.e. '/api/v1/merchants/:id')
-
2 POST endpoints
-
1 DELETE endpoint
-
Status Codes & Error Handling
-
All endpoints should respond with the minimum status code results:
200/201: Success
404: Not Found -
If POST request fails to save an entity due to bad information being sent from the client, you should respond with
422: Unprocessable Entity -
If you have a critical server error, you should respond with
500: Internal Server Error
In addition to responding with the appropriate status code, you are expected to...
- send back clear, informative error messages when something goes wrong. Do not simply console.log 'WHATEVER'. If a POST request fails because the request didn't include a required parameter, respond with something like 'Entity requires a but none was provided.'
Documentation
- In the README, developer should provide documentation on the API endpoints that can be hit. Here is a great example of in-depth documentation Pay attention to the information provided and the format that it's presented in.
Some things you want to considering having in your API documentation:
- Endpoints available (e.g. GET /api/v1/students, POST api/v1/students)
- What parameters can be used in certain requests (e.g. For a POST request, what should be put in the request body?)
- Sample responses from endpoints (What does the response object look like for a request?)
- You can put your documentation in the README of your BYOB GitHub repository. Remember, improperly formatted information can make it very difficult to read even if it's all accurate, so be sure to utilize markdown syntax styling/formatting (here is a markdown style cheatsheet).
Deployment
- Your application should be deployed to Heroku
Articulation Requirement
- In addition to the functional requirement, on a separate dedicated git branch, go through each line of the server file and put a comment on each line that explains what that line of code is doing. Be as explicit as you can.
Extension: Create a FE documentation in your BE repo
If all other expectations and requirements are met, you may:
- Create a front-end (in the same repository as BYOB) that will document the API.
- Provide a page that documents the available endpoints, the data that will be received, and the data the user must send.
- The site should be interactive, allowing a developer to "try out" endpoints. Think of building out something like Postman specifically for your back-end.
- This front-end documentation page should be a single page and can be written in Javascript, jQuery, or React.
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.