This project consists of a simple web app utilising CRUD API made in Node.js + Express.js + MongoDB + Monk. The front-end is made with Bootstrap and JavaScript. The app allows you to post, update, view and delete Quora style questions and answers.
- express
- Fast, unopinionated, minimalist web framework for node.
- monk
- A tiny layer that provides simple yet substantial usability improvements for MongoDB usage within Node.JS.
- mongodb
- The official MongoDB driver for Node.js. Provides a high-level API on top of mongodb-core that is meant for end users.
- @hapi/joi
- The most powerful schema description language and data validator for JavaScript.
Includes API Server utilities:
- morgan
- HTTP request logger middleware for node.js
- helmet
- Helmet helps you secure your Express apps by setting various HTTP headers. It's not a silver bullet, but it can help!
- dotenv
- Dotenv is a zero-dependency module that loads environment variables from a
.env
file intoprocess.env
- Dotenv is a zero-dependency module that loads environment variables from a
Development utilities:
- nodemon
- nodemon is a tool that helps develop node.js based applications by automatically restarting the node application when file changes in the directory are detected.
- eslint
- ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.
- mocha
- ☕️ Simple, flexible, fun JavaScript test framework for Node.js & The Browser ☕️
- supertest
- HTTP assertions made easy via superagent.
First of all rename .env.sample
to .env
and set MONGO_URI
to correct MongoDB database directory or connection-string
.
See this for help. Then
npm install
npm run lint
npm run test
npm run dev
- Add User Authentication
- Support Markdown
- Add voting system
- Add Disqus