PERN STORE
A full-stack e-commerce project built with Postgres, Express, React and Node.
Swagger API Documentation
Demo
Screenshots

Database Schema
Run Locally
Clone the project
git clone https://github.com/dhatguy/PERN-Store.gitGo to the project directory
cd PERN-StoreInstall dependencies
npm installGo to server directory and install dependencies
npm installGo to client directory and install dependencies
npm installGo to server directory and start the server
npm run devGo to client directory and start the client
npm run clientStart both client and server concurrently from the root directory
npm run devRunning with docker
Make sure you have Docker installed
Run the development environment
docker-compose -f docker-compose.dev.yml upRun the production environment
docker-compose upGo to http://localhost:3000 to view the app running on your browser.
Deployment
To deploy this project run
npm run deployCheck this article for guidance on how to deploy.
Tech
- React
- Node
- Express
- Postgres
- node-postgres
- Windmill React UI
- Tailwind-CSS
- react-hot-toast
- react-Spinners
- react-helmet-async
Environment Variables
To run this project, you will need to add the following environment variables to your .env files in both client and server directory
client/.env
VITE_GOOGLE_CLIENT_ID
VITE_GOOGLE_CLIENT_SECRET
VITE_API_URL
VITE_STRIPE_PUB_KEY
server/.env
POSTGRES_USER
POSTGRES_HOST
POSTGRES_PASSWORD
POSTGRES_DATABASE
POSTGRES_DATABASE_TEST
POSTGRES_PORT
PORT
SECRET
REFRESH_SECRET
SMTP_FROM
STRIPE_SECRET_KEY
Contributing
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Feedback
Joseph Odunsi - @odunsi - odunsiolakunbi@gmail.com
Project Link: https://github.com/dhatguy/PERN-Store
Demo Link: https://pern-store.netlify.app
