Skip to content

Latest commit

 

History

History
31 lines (20 loc) · 2.38 KB

instructions-3-database.md

File metadata and controls

31 lines (20 loc) · 2.38 KB

Database Integration

Each team must have completed and demo'd the integration of a database into their software application projects by the end of the corresponding Sprint.

Technical requirements

Musts...

  • A MongoDB database hosted on a free MongoDB Atlas instance must be used to store all dynamic data of the app.
  • The database must be integrated into the Express.js back-end code using mongoose.
  • Any credentials used to log into a database or other remote service must be stored in a hidden file called .env that is excluded from version control by adding it to your .gitignore file. Load these credentials from environmental variables into your project using the dotenv module.
  • When receiving data from the front-end to store into the database, always do data validation before sending that data to the database. Use the express-validator module, or something similar to perform data validation prior to sending any data originating from the request to the database.

Must nots...

  • Do not host a MongoDB instance locally on your own machine, unless you plan to be working offline for extended periods of time.
  • You are forbidden from storing any credentials used by your app to log into remote services, such as MongoDB or 3rd-party APIs in version control.
  • You are forbidden from using HTTP Basic Authentication or session-based authentication for any account registration or log in functionality your app requires.

May...

  • Any account registration or log in functionality required by an app must use JSON Web Tokens (JWT) to validate authorization.

Grading

Individuals will be graded, in part, according to...

  • individual code contributions, as visible through git logs - make sure you commit your own work!
  • proper adherence to the Feature Branch git workflow
  • the quality of the work
  • the proper setup and use of a Sprint Task Board to indicate the Sprint Backlog and accurate status of all of their work at all times during the Sprint