Coder Social home page Coder Social logo

node-assessment's Introduction

Intermediate Node Assessment

Set up your node server

  • The file must be called server.js
  • There is a package.json included with dependencies in it, you should know what to do.
  • It must use express, and body parser (Set up the app and use the body parser)
  • You will want to require the included users.json file var users = require('./users.json');
  • At the bottom of the file you must module.exports your express app.
  • Listen on port 3000.

Setup your endpoints

Create the following endpoints in server.js using express.

  • Every endpoint will be using the users collection, found in users.json.
  • Each endpoint in this readme is followed by the path that will be tested. For example, 'Get all users.' will be tested by doing a GET request to /api/users.
  • You can test your work by running npm test in your CLI.
  • When you are finished, you should have 11 tests passed.
  • Be sure to use the correct method (GET, POST, PUT, or DELETE) and the correct path (i.e. /api/users).
  • All responses must return a status of 200, unless otherwise specified
Make the following endpoints.
  1. Get all users. Return all users from the users array. GET: /api/users

  2. Get all users by language. You will receive the language as a query ('english, french, spanish or klingon.'). Return an array of all users that have the same language specified in the query. GET: /api/users?language=klingon

  3. Get all users, filtering by privilege. You will receive the privilege as a url parameter. ('admin, moderator, user'). Return an array of all users with the same privilege specified in the parameter. GET: /api/users/admin

  4. Find one user by id. Use the url params to get the id. Make sure that a get request for a user that does not exists returns 404. GET: /api/users/ + userId

  5. Create a new user. You will receive the data on the body. All users will need an id property. Manage the value so that it increments each time. Collections should be initialized with a defualt array. Return a valid status code and the new user object you created (with the id on it).
    POST: /api/users

  6. Create a new admin user. You will receive their privilege as a url parameter. ('admin, moderator, or user'). Return a valid status code and the new user object you created. Make sure to set the privilege correctly. POST: /api/users/admin

  7. Change a user's language. The language will be sent in the body {language: "New language"}. Update the user in your array and then return a valid status code and the updated user object. POST: /api/users/language + userId

  8. Add to a users favorite forums. Use params to get a user by id. You will receive the data on the body {add: 'New Forum'}. Return a valid status code. #5 must be working in order for this test to pass. POST: /api/users/forums/ + userId

  9. Remove from a users favorite forums. Use delete REST method. You will receive the user id in the url params. You will receive the forum to delete in the query. You will need to search your array and splice it out. DELETE: /api/users/forums/ + userID + ?favorite= + forum name.

  10. Ban (delete) a user. Use REST method delete and the query params to delete a user by their id number. DELETE: /api/users/ + userID

  11. Change your get all users (#1) endpoint so that it uses queries. Allow queries for age, language, city, state, and gender. Note that queries are case sensitive, i.e. ?city="scranton" will not match "Scranton" on the user's city property.

  12. Update one user by id. (You'll need to find your user then use a for in loop to update properties). This test will not work if your GET endpoints are not all functioning. PUT: /api/users/ + userId

node-assessment's People

Contributors

mmemory avatar thetopazwombat avatar bgbrwr avatar asbrettisay avatar jrobber avatar

Watchers

James Cloos 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.