Skip to content

A full-stack web application inspired by Etsy built in React, Flask, Python, and PostgreSQL.

Notifications You must be signed in to change notification settings

verduscos/etsy-group-project

 
 

Repository files navigation

Qwerty

[Qwerty] (https://qwerty2022.herokuapp.com/), a full-stack application inspired by Etsy, is an e-commerce platform for keyboard enthusiasts to buy and sell mechanical keyboard components.

Live Link

[Qwerty] (https://qwerty2022.herokuapp.com/)

Get Started

Prerequisites

  • NPM
  • A version of Node.js >= 14 on your local machine
  • Python 3.9
  • PostgreSQL
  • An AWS S3 bucket

Installation

  • Clone the repo: [email protected]:minuminukim/etsy-group-project.git

  • Install dependencies pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt

  • cd react-app and run npm install

  • Create a .env file based on the example with proper settings for your development environment

  • Setup a PostgreSQL database, user, and password and make sure they match your .env file.

  • Get into your pipenv, migrate your database, seed your database, and run your app

    pipenv shell
    flask db upgrade
    flask seed all
    flask run
  • Create your AWS user and bucket:

{
 "Version": "2012-10-17",
 "Statement": [
   {
     "Sid": "Stmt1420751757000",
     "Effect": "Allow",
     "Action": ["s3:*"],
     "Resource": "arn:aws:s3:::<NAME OF BUCKET>/*"
   }
 ]
}
  • Now update your .env with your S3_BUCKET, S3_KEY, S3_SECRET
  • Fire up your servers: flask run in root and npm start in react-app

Features

  • Product Listings
    • Users can create listings.
    • Users can edit listings.
    • Users can delete listings.
  • Reviews
    • Users can post reviews.
    • Users can edit their reviews.
    • Users can delete their own reviews.
  • Cart
    • Users can add products to their cart.
    • Users can edit products in their cart.
    • Users can remove products from their cart.
  • Search
    • Users can search for products via keywords.

Technologies

  • JavaScript
  • React
  • Redux
  • PostgreSQL
  • Python
  • AWS SDK

Features

Landing Page

Screen Shot 2022-02-13 at 8 34 43 PM

User Auth Sign in and Sign Up

Users can log into an existing account or sign up and create a new account. Users can also test the site with the Demo Login feature.

Screen Shot 2022-02-13 at 8 47 11 PM

Users can add a product listing via a form.

Screen Shot 2022-02-13 at 8 48 35 PM

Users can view a product Listing and add to Cart

Screen Shot 2022-02-13 at 8 50 01 PM

Shopping Cart

Users can create, view, edit, update, and delete items from Shopping Cart

Screen Shot 2022-02-13 at 8 52 13 PM

Users can purchase items in shopping Cart.

Screen Shot 2022-02-13 at 8 53 20 PM

Reviews

Logged in users can add a comment via the review form.

Screen Shot 2022-02-13 at 8 54 32 PM

Logged in users can delete or update their review.

Screen Shot 2022-02-13 at 8 58 09 PM

Search

Users can search for products using the Search feature.

Screen Shot 2022-02-13 at 8 59 34 PM

User can filter Search!

Screen Shot 2022-02-13 at 9 00 32 PM

About

A full-stack web application inspired by Etsy built in React, Flask, Python, and PostgreSQL.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 69.4%
  • CSS 28.9%
  • Other 1.7%