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.
- 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.
- 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.
- Any account registration or log in functionality required by an app must use JSON Web Tokens (JWT) to validate authorization.
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 proper setup and maintenance of a GitHub repository
- the quality of the work