Live: https://healthrightnz.com/
This project is an e-commerce website built using React TypeScript, Node.Js, Express.Js, Firebase Auth, PostgreSQL Sequelize ORM, styled with SCSS, and state management by Redux. The website allows users to browse and purchase products, as well as manage their shopping carts. The project also integrates with Google Dialogflow for conversational user experience. The website also has an admin route that allows authenticated users with admin privileges to perform CRUD (Create, Read, Update, Delete) operations for products and customers. This functionality is intended for website administrators to manage the products and customers available on the site. The admin route can only be accessed by users with valid admin credentials.
- React TypeScript
- Firebase Client SDK
- Firebase Admin SDK
- PostgreSQL
- Chart.js
- Node JS
- Express JS
- SCSS
- Sequelize ORM
- Redux
- Google Dialogflow
- Clone the repository:
git clone https://github.com/iamjaykang/healthright
-
Install the client dependencies:
cd healthright/client npm install -
Start the development server:
npm start
-
Install the server dependencies:
cd healthright/server npm install -
Start the server:
npm start
- Product display
- User authentication
- Shopping cart management
- Search and sort by vendors and categories
- Admin route to make CRUD operations for products and customers
- Display data in a chart using Chart.js
-
Browse products by navigating through the brands.
-
Add items to your shopping cart to proceed to checkout.
-
Log in or sign up.
-
Review and modify your cart, then proceed to payment.
-
Use the search and sort functions to find products by vendor or category.
-
Access the admin route to manage products and customers.
The project requires the following environment variables to be set:
- REACT_APP_FIREBASE_API_KEY
- REACT_APP_FIREBASE_AUTH_DOMAIN
- REACT_APP_FIREBASE_PROJECT_ID
- REACT_APP_FIREBASE_STORAGE_BUCKET
- REACT_APP_FIREBASE_MESSAGING_SENDER_ID
- REACT_APP_FIREBASE_APP_ID
- REACT_APP_STRIPE_PUBLISHABLE_KEY
- REACT_APP_API_URL
- PORT
- DEV_DB_HOST
- DEV_DB_USER
- DEV_DB_PASSWORD
- DEV_DB_DATABASE
- DB_DIALECT
- DB_PORT
- CI_DB_USERNAME
- CI_DB_PASSWORD
- CI_DB_NAME
- CI_DB_HOST
- PROD_DB_PORT
- PROD_DB_USERNAME
- PROD_DB_PASSWORD
- PROD_DB_NAME
- PROD_DB_HOST
- CORS_ORIGIN
- STRIPE_SECRET_KEY
- FIREBASE_TYPE
- FIREBASE_PROJECT_ID
- FIREBASE_PRIVATE_KEY_ID
- FIREBASE_PRIVATE_KEY
- FIREBASE_CLIENT_EMAIL
- FIREBASE_CLIENT_ID
- FIREBASE_AUTH_URI
- FIREBASE_TOKEN_URI
- FIREBASE_AUTH_PROVIDER_X509_CERT_URL
- FIREBASE_CLIENT_X509_CERT_URL
- FIREBASE_DB_URL