A mini online E-commerce Business to Consumer platform for users (Sellers) to sell their products to users (Buyers).
ShopMart is a mini Walmart clone designed to aid our learning and usage of the technologies being used in this project.
- ShopMart consists of a REST API Backend developed using Java SpringBoot and a Front-end consuming it developed using Reactjs
- The Backend runs on a PostgreSQL Database, the World's Most Advanced Open Source Relational Database.
- Docker, a popular containerization tool is used to create docker images for both our Backend and Frontend, which leads to faster production deployment and a more efficient containerization in production.
-
Programming language prerequisites
-
Java JDK - Java JDK 11+
-
Nodejs version - preferably version 16 LTS and above
- package managers - npm or yarn
-
-
Editors / IDEs
- Java IDE - preferably IntelliJ IDEA
- JavaScript IDE - preferably VS Code
The application consists of 3 Types of Users
- Admin
- Buyer
- Seller
BUYER/SELLER user are required to signup first to use the application.
The ADMIN user is required to approve the buyer/seller accounts before their start using the application
Link to Backend Demo
Link to Frontend Demo
The application has been containerized and can be run using the docker-compose file
There is a docker-compose.yml
file that can be run to start all the services of the application
Both the backend and front-end docker images are referenced in the docker-compose file
The images are hosted on docker-hub repository, hence they will be pulled once the application is started as instructed below.
-
Clone this repository
$ git clone git@github.com:sekayasin/shopmart-frontend.git ## cd into shopmart-backend directory $ cd shopmart-frontend ## start the application -- run $ docker compose up -d ## Open http://localhost to view the frontend in your browser.
-
Troubleshooting in case of any error
-
run the application and monitor the logs
## stop the application $ docker compose down ## start the application and monitor the logs, don't run in detached mode $ docker compose up ## make sure you don't have another instance of postgres running on port 5432
-
The Backend is configured with these default accounts.
Default Admin details
username: admin
password: pass123
Default Seller details
username: seller
password: pass123
Default Buyer details
username: buyer
password: pass123
This repo consist of the Front-end code base built using Reactjs
-
Clone this repository
$ git clone git@github.com:sekayasin/shopmart-frontend.git ## cd into shopmart-frontend directory $ cd shopmart-frontend
-
Available Scripts
- In the project directory, you can run:
$ yarn install or npm install To install all the dependencies $ yarn start or npm start Runs the app in the development mode. Open http://localhost:3000 to view it in your browser.
Name | ID | Github username |
---|---|---|
Elilta Wondimu | 113161 | EliltaW |
Ghidei Weldehaimanot | 113397 | ghideibahta |
Raymond Antonio Broome | 613412 | m0nd |
Surafiel Hailu | 112136 | suraph-el |
Yasin Sekabira | 613508 | sekayasin |
Special Thanks to Our Professor - Muhyieddin Al-tarawneh - WAA Professor | Project Manager.