triciopa / e-commerce-Agroplace

E-commerce developed in PERN stack, with authentication

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Group Project - Agricultural e-commerce

You can see a tour inside this app, following the next video:

Video URL: https://www.youtube.com/watch?v=cXkNWNEK1So

How to use

  1. Create a PostgreSQL database named as you please.
  2. Create an .env file inside /api with the following:
// api/.env
DB_USER = [your_user];
DB_PASS = [your_pass];
DB_HOST = localhost; // that's how you run this project in your local machine
DB_PORT = 5432; // this is the default port in postgress, but maybe you've chosen another
DB_NAME = [your_database_name];
  1. Set a secret key for JWT signature and obtain an ID token, also in .env:
// api/.env
SECRET = [your_secret]; //you can use base-64 characters
  1. For Google social login accounts, create a Facebook and Google developer accounts and add to .env:
// api/.env
CLIENT_SECRET_FB=[value]
CLIENT_ID_FB=[value]
CALLBACK_URL_FB=[value]

GOOGLE_CONSUMER_KEY=[value]
GOOGLE_CONSUMER_SECRET=[value]
GOOGLE_URL_CB=[value]
  1. Also it's required to create an .env file in /client, with the FB Client ID:
// client/.env
REACT_APP_CLIENT_ID_FB=[value]

WARNING: To login with FB account in development mode, you can only use mock users given by FB. Also, make sure you have "REACT_APP_" prefix for every variable in the client side.

  1. In order to use nodemailer for receiving notifications (fulfilled orders, newsletter, etc.), also place an authorized Gmail account in api/.env:
// api/.env
user=[account]
pass=[password]
  1. Install node modules with npm i in both directories /api and /client.
  2. Start both with npm start

Features

Web Application based in:

  • React.js and Redux.js (Front-end)
  • Node.js and Express.js (Back-end)
  • PostgreSQL & Sequelize (Database).

Technologies

  • React.js
  • Redux.js
  • SASS
  • MaterialUI
  • Cloudinary
  • Tensorflow.js
  • Express.js
  • Node.js
  • Passport
  • PostgreSQL
  • Sequelize

About

E-commerce developed in PERN stack, with authentication


Languages

Language:JavaScript 83.1%Language:SCSS 13.5%Language:HTML 1.9%Language:CSS 1.5%