Skip to content

Wishlist-it is a full-stack app that allows a user to create and manage a list of products. The inspiration was to create an app that is similar to a shopping list, but with the ability to easily manage information such as desired price, product notes, and other related information.

Notifications You must be signed in to change notification settings

RubinoD1/Wishlist-it-product-tracker

Repository files navigation

Wishlist-it product tracker

GitHub Repository: https://github.com/RubinoD1/Wishlist-it-product-tracker

Heroku Live Page: https://vast-depths-33526.herokuapp.com/

Table of Contents

Introduction

Wishlist-it is a full-stack app that allows a user to create and manage a list of products. The inspiration was to create an app that is similar to a shopping list, but with the ability to easily manage information such as desired price, product notes, and other related information about a product.

Contributers

User Story

As a shopper, I want a easy way to keep track of the products I want.

Features

  • The ability to register an account [Username, email, password]

  • The ability to login [Email, password]

  • Create a product tracked by category and linked to user id.

  • Edit and remove products from list.

  • Add the following product info:

    • Product name
    • Price
    • Desired Price
    • Product notes
    • Quantity (default is 1)
  • Add a image for products

Technology

  • Node.js
  • Express
  • SQL
  • MySQL2
  • Jest
  • Heroku
  • JawsDB
  • Handlebars.js
  • Express-session
  • Google OAuth

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

  • DB_NAME='wishlist_it_db'
  • DB_USER='root'
  • DB_PASSWORD='YOUR PASSWORD'
  • GOOGLE_CLIENT_ID=
  • GOOGLE_CLIENT_SECRET=

A example .env file can be found in the root of the repository. The file is:

.env.EXAMPLE

Run Locally

Clone the project

  git clone https://github.com/RubinoD1/Wishlist-it-product-tracker.git

Go to the project directory

  cd Wishlist-it-product-tracker

Install dependencies

  npm install

Start the server

  npm run start

Create The Database

Login to MySQL

  mysql -u root p

Run the schema.sql file

  SOURCE db/schema.sql;

To check that wishlist_it_db was created

  SHOW DATABASES; 

Exit MySQL

  quit; 

Seed The Database

To seed the database

  npm run seeds

Running Tests

To run tests, run the following command

  npm run test

Screenshots

Home page

Dashboard Main

Dashboard Category Filter

Requirments

Your project should fulfill the following requirements:

Use Node.js and Express.js to create a RESTful API.

Use Handlebars.js as the templating engine.

Use MySQL and the Sequelize ORM for the database.

Have both GET and POST routes for retrieving and adding new data.

Be deployed using Heroku (with data).

Use at least one new library, package, or technology that we haven’t discussed.

Have a polished UI.

Be responsive.

Be interactive (i.e., accept and respond to user input).

Have a folder structure that meets the MVC paradigm.

Include authentication (express-session and cookies).

Protect API keys and sensitive information with environment variables.

Have a clean repository that meets quality coding standards (file structure, naming conventions, best practices for class/id naming conventions, indentation, quality comments, etc.).

Have a quality README (with unique name, description, technologies used, screenshot, and link to deployed application).

About

Wishlist-it is a full-stack app that allows a user to create and manage a list of products. The inspiration was to create an app that is similar to a shopping list, but with the ability to easily manage information such as desired price, product notes, and other related information.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •