This is an e-commerce website project with three main roles:
- Admin: The administrator with full control over the system.
- User: Registered users who can shop and perform personal actions.
- Guest: Unregistered visitors who can only browse products.
The project is divided into two systems:
- MainSystem: The main system, where the core functionalities of the website are performed for all roles.
- SubSystem: The subsystem, called during payment processing.
- Node.js
- Express.js
- Express Handlebars
- HTML, CSS, JavaScript
- TailwindCSS
E-Commerce-Website/
├── mainsystem/
│ ├── config/
│ ├── public/
│ ├── views/
│ ├── models/
│ ├── services/
│ ├── routes/
│ ├── controllers/
│ └── server.js
├── subsystem/
│ ├── config/
│ ├── public/
│ ├── views/
│ ├── models/
│ ├── services/
│ ├── routes/
│ ├── controllers/
│ └── server.js
└── README.md
- Latest version of Node.js.
- NPM (Node Package Manager).
- Clone the repository to your local machine:
git clone "https://github.com/NhanPhamThanh-IT/WEBDEV_2024-2025.git"
- Install dependencies for MainSystem:
cd mainsystem npm install
- Install dependencies for SubSystem:
cd ../subsystem npm install
- Start the MainSystem:
cd mainsystem npm start
- The main application will run at
http://localhost:3000
- The main application will run at
- Start the SubSystem:
cd ../subsystem npm start
- The subsystem will run at
http://localhost:3113
- The subsystem will run at
- Ensure both systems are running simultaneously to fully utilize the website's functionalities.
- Guest:
- View product listings.
- Search for products.
- User:
- All Guest functionalities.
- Register and log in.
- Add products to the cart.
- Make payments (calls SubSystem).
- Manage personal information.
- Admin:
- Manage products.
- Manage users.
- View revenue reports.
- Handle payments through integrated payment methods.
- Confirm payment status and send feedback to MainSystem.
- For any issues or improvement ideas, please create an Issue on the repository or contact via email:
<ptnhanit230104@gmail.com>
.
This project is licensed under the MIT License. See the LICENSE
file for more details.