Skip to content

gpitrella/PF-FrontEnd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

582 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Tech Market

Status React Redux Material UI Node.js Express Sequelize PostgreSQL

Introduction

This is a student group project, in which all the technologies learned in the SoyHenry bootcamp come together. The project is a fully functional e-commerce of technology products on the user side, as well as on the side of the administrator or owner of the e-commerce.

Project Objetives

  • Build a JavaScript App from scratch
  • Afirm and conect all the learned concepts in the Carreer
  • Learn and practice GIT workflow / team work
  • Use Scrum agile methodology

Stack of Technologies

Front End:

HTML, CSS, Javascript, React, React-Bootstrap, Redux, SendGrid, Google and Mercado Pago Integration, Material UI, SASS

Back End:

Node.js, Express, Passport, Sequelize

Database:

PostgreSQL

Starting Instructions

IMPORTANT: Necesary version of node and NPM

  • Node: 12.18.3 or higher
  • NPM: 6.14.16 or higher

BoilerPlate

The boilerPlate has two folders: api and client. You can find the first folder 'client' in this repo and the second folder like 'PF-BackEnd' in this same github.

Inside api you must have to create a file called: .env that has the following form:

DB_USER=postgress
DB_PASSWORD=12345
DB_HOST=localhost:5432
PORT=3001
DB_KEY=techmarket
ACCESS_TOKEN=*****

# Auth Config
AUTH_SECRET=****
AUTH_EXPIRES=1d
AUTH_ROUNDS=10
CLIENT_URL=http://localhost:3000
GOOGLE_CLIENT_ID=*****
GOOGLE_CLIENT_SECRET=*****
SENDGRID_API_KEY=*****

You have to replace DB_USER and DB_PASSWORD with your own credentials to connect to postgres database. This file will be ignored by github, as it contains sensitive information (the credentials).

The DB_KEY is a random security keyword, you can change or keep it. The ACCESS_TOKEN is a security keyword to Mercado Pago, you can create one in this platform and make a success buy. In this link https://www.mercadopago.com.ar/developers/es/docs/checkout-api/integration-test/test-cards you can get all information to check a success buy in TechMarket.

In Auth Config you must generated your own Google and SendGrid credential to use this functionalities.

Next

Connect the data base

  • Go to your postgres database manager and create a new database called techmarket, this is the name of the database to which we will connect.

Install the necesary package to run it

  • Open the project console
    • Inside api folder, run the command line, npm install
    • Inside client folder, run the command line, npm install

Run the project

  • Open the project console
    • Inside api folder, run the command line, npm start

    • Inside api folder, run the command line, node Api-Store.js and node Api-Users.js to create standard products and users.

    • Inside client folder, run the command line, npm start (go to http://localhost:3000/)

For testing

  • You can find in api/index.js

    • conn.sync({ force: false }), switch it between " true " ( if you want reset database in each loaded ) or " false "( if you dont want reset database in each loaded )
  • You can use a testing admin user with login credentials, look inside Api-Users.js to find admin users and a standard user.

Deploy Project

Live Proyect TechMarket: https://techmarketfront.vercel.app/

  • You can create a standard user to see all funcionality or use this user like admin to see admin funcionality:

Developers

Project Screens

  • Landing-Page LandingTechMarket

  • Home Page when we go in HomePageTechMarket

  • Register, we can do it using the ecommerce platform (by form) or authenticate with github. LoginUsers

  • Store products StoreTechMarket

  • Custom your PC CustomePc

  • Products in detail ProductDetailsTechMarket

  • User Profile UserProfileTechMarket

    • We can add reviews to the products that we had purchase MyReviews
    • Order Details OrderDetails
  • Cart ProductCart

  • Whish List WishList

  • Checkout. You can pay using paypal or with a debit/credit card CheckOut

  • There is an admin section where we have a CRUD of products, categories, orders and users. AdminPanel

    • Admin Panel view all products and admin can edit each product. AdminPanel1
    • Admin can view all orders and update each order. AdminPanel2
    • Admin can edit each categories and brand or create and detele this. AdminPanel3

About

App Tech Ecommerce - Front End

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors