This project uses the following dependencies:
next.js
- v9.3 or above required for API Routes and new new data fetching method.react
- v16.8 or above required for react hooks.react-dom
- v16.8 or above.swr
- required for state managementmongodb
- may be replaced bymongoose
.passport
,passport-local
- required for managing authentication@material-ui/core
,@material-ui/icons
- optional,only if you are using materialize css for Frontend.next-connect
- recommended if you want to use Express/Connect middleware and easier method routing.express-session
,connect-mongo
- required for session, may be replaced with other session libraries such ascookie-session
ornext-iron-session
.bcryptjs
- optional, may be replaced with any password-hashing library.argon2
recommended.validator
- optional but recommended.multer
- may be replaced with any middleware that handlesmultipart/form-data
cloudinary
- optional, only if you are using Cloudinary for image upload.react-icons
- optional, only if you are using React icons to add icons.
The environment variables will be inlined during build time and thus should not be used in front-end codebase.
Required environmental variables in this project include:
process.env.MONGODB_URI
The MongoDB Connection String (with credentials)process.env.MONGODB_DB
The name of the MongoDB database to be used.process.env.CLOUDINARY_URL
(optional, Cloudinary only) Cloudinary environment variable for configuration. See this.