Giter VIP home page Giter VIP logo

hardpost's Introduction

An online marketplace to buy, sell, and trade skateboarding items.

hp-demo.mov

Motivation

The prices of skateboarding hard-goods are at an all time high. Skateboarders typically accumulate lots of gear while many people cannot afford to buy those items brand new. There is no dedicated platform for people to specifically buy or sell skateboarding items from other individuals at a more affordable price. The main option has been to go on generic online marketplaces where the majority of users have no interest in skateboarding products. Hardpost aims to close that gap.

Description

The concept is straightforward. Skateboarders can create an account and make posts of items they have for sale, including an image and price tag. Other users can browse those items, add them to their cart, and then must be logged in with an account to purchase those items.

Technologies used

Typescript JavaScript Vite React React Router React Query NodeJS Express.js MySQL Sequelize Jest Cypress AWS JWT Stripe


badges source

Usage

  • Navigate to the landing page where you can browse items and add them to your cart
  • Because the app is still in test mode sign up with a dummy email address and password to checkout and simulate a purchase of your items in the cart
  • Feel free to post test items along with an image (you can delete them as well)

Testing

  • For unit testing, run 'npm run test' in both client and server folders individually (runs jest tests).
  • For integration testing, run 'npm start' at root of the project to start up the client and server. Then cd into the client and run 'npm run cypress', select chrome as the browser testing environment

Relational Database Design

steps for running locally

  • clone repo
  • 'npm install' all dependencies inside root, client, and server folders
  • in server folder, create .env file with DB_NAME="hardpost_db", and DB_USER and DB_PASSWORD set to your MySQL credentials (default user is 'root')
  • still in server, log into MySQL shell and run 'source db/schema.sql' to create database
  • return to root of project an 'npm run start' to concurrently run node-express server and vite dev mode

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.