Shop.com is a full-stack e-commerce web application developed as a CSCI3100 project. The platform enables customers to browse products, manage shopping carts, and complete purchases while providing administrators with tools to manage users and product inventory.
The system implements a complete e-commerce workflow including:
- User registration and authentication
- Product catalog with search and category filtering
- Shopping cart management with real-time price calculations
- Checkout and order tracking
- Administrative interfaces for user and product CRUD operations
Ensure you have the following installed
- Node.js
- npm
After cloning the repository to your local machine, you may begin to set up the frontend
Proceed by running the following commands:
cd Shop.com // set 'current directory' to the project folder
npm i
npm run dev // To start development server.
The project will be availble at http://localhost:5173/.
For the backend
First start a new terminal. Here,
- Set
cdto theserverfolder, then - Enter
nodemon serverto start server. (alternatively, simplenode serverworks just fine)
The backend server will start subsequently, at http://localhost:3001/.
Ensure you are not connected to any VPN, otherwise connection to database may be blocked by MongoDB.
The following technologies are involved in building the project
- Vitejs - For quicker frontend build
- React - Main frontend framework
- Bootstrap (in the form of react-boostrap package) - For styling purposes
- ExpressJS - For building the API for handling network requests
- Mongoose - ODM for interacting with MongoDB database.
- YING Chun Wai - Implementation of payment handling and order tracking system and logic
- CHANG Si Kai - Implementation of the main UI/UX - particularly the homepage, product browsing page and individual product page and their logic
- CHEN Dang Gui - Implementation of admin pages and logic of admin-exclusive functions, including the user and product-listing functions and more.
- LO Chun Tat - Implementation of the shopping cart system and page and its corresponding logic, user registration and authentication logic
- CHAN Yan Hei - Implementation of the user registration page