Capstone Guidelines
API Capstone Guidelines:
Build a RESTful API based on the starter repo. Your API should demonstrate the following features:
Resource List: API returns a list of resources.
Resource Details: API returns details of a specific resource
Resource Update: API allows authenticated users to update a resource. You can choose to update the entire resource or just partial subdata like comments, likes or favorites.
Resource removal: API allows authenticated users to "remove" a resource. Remove can be deleting the resource from the database or setting a "hidden" flag on the item.
Best Practices:
Standards: The project structure should be well-organized and the code should be syntactically clean (no linting errors).
Security: The project should follow good security practices. For example, no passwords or secrets in the public repo.
Testing: The project should have a substantial test suite.
CICD: Pushing a commit to GitHub should trigger Travis-CI tests which, if successful, should deploy to Heroku.
Only attempt these stretch goals if the development of key features is near completion.
Search: Enable the search criteria form on the client interface, extend as needed. The form should submit search criteria to the resource list endpoint (GET /v1/). The endpoints searches the database for the correct results and returns to data to the client. Update the Resource Lists results to display the correct results
Sorting: Add the ability to sort the search results. The results can be sorted locally on the client or a request can be made to the server which sorts and returns the results. Your challenge is to choose the better option for your project, implement the feature and be able to discuss the rational for your choice.
If using Mongo:
If using Postgres: