Git Product home page Git Product logo

pf-backend's Introduction

PF-BackEnd

BackEnd: Technology Market Final Project

Tech Market

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

  • 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

pf-backend's People

Contributors

battaglialucas avatar dev-back55 avatar enzos97 avatar gpitrella avatar romerofederico avatar cosm1co avatar begamboa avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.