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.git
Go to the project directory
cd PERN-Store
Install dependencies
npm install
Go to server directory and install dependencies
npm install
Go to client directory and install dependencies
npm install
Go to server directory and start the server
npm run dev
Go to client directory and start the client
npm run client
Start both client and server concurrently from the root directory
npm run dev
Running with docker
Make sure you have Docker installed
Run the development environment
docker-compose -f docker-compose.dev.yml up
Run the production environment
docker-compose up
Go to http://localhost:3000 to view the app running on your browser.
Deployment
To deploy this project run
npm run deploy
Check 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 - [email protected]
Project Link: https://github.com/dhatguy/PERN-Store
Demo Link: https://pern-store.netlify.app