health-ecommerce
eCommerce
CSS
Health Ecommerce – Overview
The challenge:
This project is an E-Commerce Web App as a graduation project from the Job Placement Program by Sprints as part of egFWD scholarship
The E-Commerce app has two types of users:
- User: can browse products, add to cart and make orders
- Admin: can perform CRUD operations on products, categories, brands, change order status and view bussiness statistics
Our Process
Timeline:
- The proejct was annouonced with 3 weeks deadline, we met on the Bootcamp slack channel and formed the team and had about 2.5 weeks in our hands
- From our humble understanding of Agile mindset, we decided to have two main sprints for Development (Fron-End & Back-End in parallel). After that we had a sprint for Testing & Fixing Bugs
- From our interest in Health Tech, we opted to focus the E-commerce scope for health products(e: medical devices, nutrients, …etc)
Team Collaboration:
-
We used different tools to follow a collaborative work style and manage tasks, as follows:
- Github Repo
- Trello Board
- Postman Workspace
- DB Diagram, Online
Built With:
- Node.js – Runtime environment to help build fast server applications
- Express.js – Backend web framework
- MongoDB – Database to store document-based data
- Mongoose – Object-modeling tool for Node.js
- ReactJS – JavaScript library for building user interfaces
- Heroku – Platform to deploy web applications
- JSON Web Token – A standard to securely authenticate HTTP requests
How to run the project
Run the Back-End
-
You need to have the following installed
- NPM
- Node.JS
- MongoDB
- Create MongoDB cluster and obtain connection string
- Clone this repository
-
Create enviornment file
/back-end/src/config/.env.development
-
Inside
.env.development
, add the following enviornment variables:
MONGODB_URL={MongoDB connection string}
JWT_SECRET={JWT secret key}
PORT={The port you want the server to run on (typically 3000)}
-
Navigate to
project/back-end
- Run the following commands:
npm install
npm run start
-
Server is now running on
http://localhost:{PORT}
Run the Front-End
-
You need to have the following installed
- NPM
- ReactJS
- React Router
-
Navigate to
project/front-end
- Run the following commands:
npm install
npm run start
-
You can now access the app on
http://localhost:3003
Future Development:
- Using Redux Toolkit for managing the state
- Using HttpOnly Cookie & Silent Refresh for JWTs