E-Commerce Store For Selling T-shirts
You ask that what is the purpose of implementing this project and what is purpose of it? In our daily life style, we all are prefered to buy things like home appliances, clothes, electronics items like Mobile, TV and other gadgets in online mode for saving our time. So, I build this E-Commerce store for selling T-shirts that can maintains data about how much T-shirts have been sold by categories and how much T-shirts left in stock. Below architecture describes the functional requirement of project and flow of the project.
For building this E-Commerce store, I have used MongoDB, Express and NodeJS for back-end and ReactJS for front-end. In front-end, React is very popular library for building Single Page Application (SPA) and user interface. Express is Fast, unopinionated, minimalist web framework for NodeJS. In back-end, for creating REST API I have used NodeJS and for creating routes I have used Express which is also a minimalist framework for NodeJS.
From above architecture we can see that the route which is in green colour this all are controllers. Controllers are the functions. And the routes which is in blue colour are used for routes.
This whole architecture is divided in three parts :
- Models
- Controllers
- Routes
Models are used for building the schema of database. Models contains various schema for database like User schema, Product schema, Category schema and Order schema and all this schema is built in MongoDB database.
Controllers contains methods like auth, user, category, product, order, payment and all this routes are used for talking from front-end to back-end.
Routes contains routes like authentication, user, category, product, order and payment system and all this routes are used for taking data from front-end and send to Models for various back-end tasks like user authentication, cart of authenticated user, etc.
This E-Commerce store is also integrated with Stripe payment gateway, so that user can pay for purchased items from their cart panel. From this Stripe payment gateway user can pay using their debit card or credit card.
This E-Commerce store contains two privileges:
- Admin
- Customer
In Admin privileges, Admin has full accessibility of this store. Admin can add, update new items to the store and delete existing items. Also Admin can maintain all the users.
In Customer privileges, Customer has only access to only a few thing like signup, signin, see all products, and to pay for the products which is in his/her cart.
From this signup panel User can signup if they are new to this e-commerce store.
From this signin panel Admin / User can login into their account.
The above image shows an admin panel and this panel is completely anonymous from Customer that means user can not see the Admin Dashboard in their navigation.
From Create category panel Admin can create a category in the database. Also this panel is fully anonymous from customers.
From Create product panel Admin can add products in the perticular category. Also this route is also anonymous from customer.
From Manage Category panel Admin can update and delete categories from the database.
From Manage product panel Admin can manage all products means Admin can update and delete products from the perticular category.
From Cart, User can pay for the items which is purchased by user.
Software Requirements:
Frontend: ReactJS.
Backend: MongoDB, NodeJS, ExpressJS.
I have successfully completed Frontend Web Development With React course from Coursera and which is offered by Hong Cong University Of Science And Technology.