GithubHelp home page GithubHelp logo

checkpoint-express-seir's Introduction

Checkpoint: Express & Mongoose

Set Up

Fork and clone this repository. After cloning down your fork...

 $ cd checkpoint-express-mongoose-short
 $ npm install

To run the tests in the terminal, run npm test.

  • Every time you make a change and save your files, you will need to manually re-run the tests.
  • When you start, all of the tests will be failing; your goal is to make as many pass as you can in the hour provided. There are 18 tests total.
  • Read the output of the failing tests. It will tell you why the test failed.

Note: The test suite is located in ./test.

Instructions

For this checkpoint, you need to build a simple application for tracking Notes.

Requirements

  1. There is already a package.json file with the dependencies necessary for running the tests. You will have to manually npm install everything else required to build your application server with Express and Mongoose.

  2. Create a controllers directory. Inside controllers, create two files: notes.js and users.js.

  3. Set up/build out express properly in your index.js file. Include the controllers later, once you've built them.

  4. Create two models:

    A. Note, with three fields

    • title
    • body
    • a ref called author to User. A note will only be associated with a single user, so this should be a plain object.

    B. User, with three fields

    • username
    • email
    • a ref called notes to Note. This should be an array of objects.
  5. You should have 5 routes. They should return JSON unless otherwise specified.

  • GET '/' which should redirect to `/notes'
  • GET '/notes' which return a list of notes
  • GET '/notes/:someParameter' where :someParameter grabs a single Note from the database by id. NOTE You can name :someParameter whatever you want ๐Ÿ˜ฌ
  • GET '/users' which will return a list of all users
  • GET '/users/:someParameter which will return a single user by id. NOTE see previous note.

NOTES:

  • You can refer to previous lessons and notes that you have if you forget syntax.
  • We've provided the necessary configuration for the database connection, some of the Model definition, and some of the basic express app boilerplate. Don't delete any of this! Your task is to add to what is provided.
  • If your tests time-out, don't exit, try hitting ctrl-c.
  • Pay attention to when you're returning single values versus multiple values. The tests will only pass for the appropriate types.
  • You don't need to create any data in the database for the tests to pass.
  • If something doesn't work, try reordering it.
  • Test with postman!
  • Do not modify the tests in tests/index.js!

Submission

Fork this repository and clone your fork locally. Commit as you go. When you are finished, push to GitHub.

Wait until the end of the hour to make your Pull Request

checkpoint-express-seir's People

Contributors

juancgarcia avatar perryf avatar superbuggy avatar tomatohammado avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.