Auctioneer is a full-stack web application built with a MERN stack:
- MongoDB Atlas as a cloud DBaaS hosted on AWS
- Express v4.17.1 as a backend framework for the API
- React v16.13.0 and Redux v4.0.5 for client-side application/state management
- Node v12.6.0 as a server/client runtime environment
The app is also built with cool npm packages such as:
- passport-jwt for JWT authentication
- bcryptjs for password-salt hashing
- axios for HTTP client
- validator for input validation
- multer for file-input POST endpoints
With npm-scripts (located in ./package.json), installing the dependencies on both the client/server side can be done in the root directory:
$ npm install
$ npm run client-install
Because some of the scripts use nodemon to start servers, it will have to be installed separately as a devDependency:
$ npm i nodemon --save-dev
Leveraging concurrently v5.1.0 allows both the Express server and React application to be started concurrently (i.e., without needing two terminals) from the root directory:
$ npm run dev
Alternatively, the Express server can be started individually for API testing:
$ npm run server
Likewise, the React application can be started individually as well:
$ npm run client
User stories and business logic can be inferred from this UI Transition Diagram:
https://drive.google.com/file/d/1n2MklSWgbuP2MPe47I3xOzNUEaT8NhWE/view?usp=sharing