Welcome to lesson five! This lesson teaches several alternatives to REST and JSON. It is intended to provide you with an understanding of other technologies out there, but we will continue to focus on RESTful APIs that return JSON in this course. You finished your Contacts project in the previous lesson, and in this lesson you'll start a new project of your choosing.
Resources for this lesson are accessible to you in this repository
Purpose: Research, learn, and share industry standards, best practices, and helpful resources.
Task: Complete the assignment.
The team activity for this lesson will consist of participating in a developer forum. Each person in this class will learn from different resources, try different things, and end up with a unique knowledge base. This forum is an opportunity for you to share industry standards and best practices regarding the technologies that we are using and that you're learning about in this lesson. To receive full credit for this assignment, you must do the following:
Developer Forum
for this assignment.L03 - POST requests in Node.js
)Purpose: Start developing a new API.
Task: Complete the assignment.
By the end of this assignment the student will be able to do the following:
For your assignment this lesson, you will create a new project of your choosing. You will have approximately four lessons in this course to complete it, similar to the last project. This project will perform CRUD operations on a MongoDB database, be published to the web, incorporate security measures, and include API documentation.
Your MongoDB credentials should never get pushed to git
, so be sure to include your env file in your gitignore.Criteria | Weight | Mastery | Proficient | Developing | Beginning | Missing/Incomplete |
---|---|---|---|---|---|---|
100% | 90% | 78% | 65% | 0% | ||
API Endpoints(Graded via YouTube) | 30% | Meets Proficient criteria and the POST request returns the new id in the response body and a status code of 201 | Meets Developing criteria and performs POST. Video shows MongoDB being updated | Meets Beginning criteria and performs GET requests from MongoDB | Node project has evidence of HTTP requests | GitHub link or YouTube link not submitted, or no evidence of HTTP requests |
Deployment(Graded via YouTube) | 30% | Meets Proficient criteria and Render CONFIG VARS are being used | Meets Developing criteria and routes for GET and POST don't contain errors | Meets Beginning criteria and routes for GET and POST are present | Render (not localhost) is being used in the video and Render url loads without errors | Render link or YouTube link not submitted, or Render errors are present |
API Documentation(Graded via YouTube) | 30% | Meets Proficient criteria and the "/api-docs" page (or Apollo server link) can test the endpoints | Meets Developing criteria and the route: "/api-docs" (or Apollo server link) is accessible | Meets Beginning criteria and the following routes are present in the documentation: GET all, GET by id, PUT, POST, and DELETE | Exidence of API documentation is present in project (either a swagger.json file or Apollo server) | YouTube link not submitted or no API documentation present (no swagger.json for swagger or Apollo server link for GraphQL) |
Architecture(Graded via GitHub) | 10% | Meets Proficient criteria plus includes a .rest file with routes for localhost and Render | Meets Developing criteria plus each route calls a function imported from a controller | Meets Beginning criteria plus server connects to routes in project "routes" folder using only a single line of code | Server file is present in root folder (server.js, index.js or app.js) to run the Node project | Render link not submitted |