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. - Any account registration or log in functionality required by an app must use JSON Web Tokens (JWT) to validate authorization.
- When receiving data from the front-end to store into the database, the back-end must 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.
- You must not host a MongoDB instance locally on your own machine, unless you must work offline for extended periods of time.
- You must not store any credentials used by your app to log into remote services, such as MongoDB or 3rd-party APIs, in version control.
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 as a whole