Pre-built tools such as SnipCart and Shopify minimize the amount of work and time involved in building modern e-commerce applications. In order to fully appreciate the processes behind an ecommerce store, I decided to build one from the ground up. Although building everything from the ground up was the goal. I still had to use third-party services such as Stripe, in order to reduce the complexity of the project.
- Node Js
- React
- SendGrid
- Stripe
- Docker
- Bootstrap
cd api
- Node JS: 12.19.0 and up
- Docker(optional)
- Sendgrid, Cloudinary, Stripe account
- SendGrid:
- Create a send grid account and set up your email templates
- Get your api key
- Stripe:
- Get your api-key
- Get your publishing key
- Cloudinary:
- Get your api key
version: "3.1"
services:
db:
image: postgres
restart: always
ports:
- 5432:5432
environment:
POSTGRES_USER: <<Your User >>
POSTGRES_PASSWORD: << Your password >>
volumes:
- ./scripts:/docker-entrypoint-initdb.d
docker-compose up
(Replace with your own)
PGDATABASE=
PGPORT=
PGHOST=
PGUSER=
PGPASSWORD=
#Token secret
JWT_EXPIRY=
JWT_SECRET=
#stripe
STRIPE_KEY=
#Client
CLIENT_URL=http://localhost:3000
#Cloudinary
CLOUDINARY_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_SECRET_KEY=
#Sendgrid
SENDGRID_API_KEY=
SENDER_EMAIL=
npm install
npm run dev
cd client
REACT_APP_LOCAL_API= <<The API address >>
REACT_APP_STRIPE_API_KEY=<<Stripe Client Key>>
npm install
npm start
- Backend Portal
- Client Portal
- Client Account System
- Stripe Payments