- To install, run
npm install
- To run the Express server, run
npm start
- For the React app:
- To run the development app, run
npm run dev-server
. The React app will then be served usingwebpack-dev-server
- To run the production app, run
npm run build
to bundle the React app using Webpack. The bundled code will then be served by the Express server
- To run the development app, run
- To run the back-end tests, run
npm
run test-express` - To run the front-end tests, run
npm
run test-react`
- Nodejs, Expressjs, Mongodb and Mongoose for the REST API
- React.js for the user interface
- Redux for state management and dispatching asynchronous API request
- Webpack for module bundling and running a React development server
- Babel.js for transpiling ES6+ code
- Mocha, Chai, Jest and Enzyme for testing
- Unauthenticated users can:
- Create an account
- Read articles
- View user profiles
- Authenticated users can do everything unauthenticated users can do, as well as:
- Create/edit/delete/like articles
- Create/edit their user profiles
- Follow other users