A Dynamic Products Shop and the Admin page build in react.
- For the demonstration, the code has been hosted on Heroku.
- You can access this link to view the application.
- You can register with the
Admin
user role to view all the pages
- The Backend is a REST API built in ExpressJs which is an MVC web-application framework for NodeJs.
- MongoDB is used as the NoSQL Database along with ExpressJs in the backend Rest API. Mongoose, a MongoDB ODM(Object Data Mapper) has also been used along with MongoDB in the database layer.
- The Frontend is built using ReactJs along with React-Router and Material UI as component library.
- The project has two resources:
Products
andUsers
. - The Project has two User Roles:
Admin
andUser
(A normal shopper). - The Project has Login & Register pages for the non logged-in users, a Shop page for the Logged-in users with user role as User, and Users page only visible to Admin along with actions to perform CRUD operations.
- The Admin has the right to carry out the CRUD operation on both the resources.
- They can Add/Remove/Edit/Delete the Products and the Users listed/have access on the site.
- The Project was primarily built to learn Javascript and how to run it on the backend using NodeJs. Also to experiment with NoSQL Databases.
- Express 4.x
- MongoDB 3.x
- Mongoose 5.x
- Node 8.x
- React-Router 5.x
Clone the repository and Run the following commands in the terminal:
npm run install_app
(This will install the server's and the client's dependency packages)npm start
(This will start the backend server. Alternatively, you can also runnpm run start_dev
to start the server withnodemon
, which will look for the changes in the files and restart the server everytime)cd client && npm start
(This will start the Frontend React application for Dev Environment. For Production, runnpm build
to build the FrontEnd for deployment)