Giter VIP home page Giter VIP logo

node-api1-guided's Introduction

Lambda Hubs Web API

Guided project for Node API 1 Module.

In this project we will learn how to create a very simple Web API using Node.js and Express, and cover the basics of server-side routing and using global middleware.

The code for the guided project will be written in a single file for simplicity. We'll see ways to structure an API to make it more maintainable in upcoming lectures.

Prerequisites

Project Setup

  • fork and clone this repository.
  • CD into the folder where you cloned your fork.

Assignment

Build a RESTful Web API to manage "Lessons" and "Hubs". A Hub is a group chat channel that brings together an instructor and a group of students from the same cohort as they work on a Lesson.

An example would be a Hub created to go over the "Introduction to Node and Express" lesson for the Web 1 cohort.

A Lesson has:

  • a unique id.
  • a name.

A Hub has:

  • a unique id.
  • a name.
  • a lessonId that connects it to the corresponding Lesson.
  • a cohort.

Features

The Web API must provide a set of endpoints to fulfill the following needs:

  • add a new Lesson.
  • view a list of existing Lessons.
  • view the details of a single Lesson
  • update the information of an existing Lesson.
  • remove a Lesson.
  • add a new Hub.
  • view a list of existing Hubs.
  • view the details of a single Hub
  • update the information of an existing Hub.
  • remove a Hub.

Here is a table with the endpoint descriptions:

Action URL Method Response
Add a Lesson /api/lessons POST the new Lesson
View list of Lessons /api/lessons GET array of Lessons
View Lesson details /api/lessons/{id} GET a Lesson
Update Lesson /api/lessons/{id} PATCH updated Lesson
Remove a Lesson /api/lessons/{id} DELETE deleted Lesson
Add a Hub /api/hubs POST the new Hub
View list of Hubs /api/hubs GET array of Hubs
View Hub details /api/hubs/{id} GET a Hub
Update Hub /api/hubs/{id} PATCH updated Hub
Remove a Hub /api/hubs/{id} DELETE deleted Hub

node-api1-guided's People

Contributors

luishrd avatar

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.