/toneify

A web-app to help guitarists find their perfect pedalboard configuration

Primary LanguageJavaScript

toneify

https://toneify-arthurhwang.herokuapp.com/ -- Please allow up to 20 seconds for the link to load. Heroku hosting is extremely slow sometimes.

A full-stack Javascript application to help guitarists create pedalboard configurations dynamically with an interactive builder.

Technologies Used

  • React
  • Redux
  • Redux-Thunk
  • Redux-Persist
  • React-Router
  • Express
  • Node
  • MongoDB
  • Mongoose
  • PassportJS
  • CookieSession
  • Google OAuth
  • Facebook OAuth
  • Stripe API
  • Semantic UI React
  • MomentJS

Key Features

  • Users can pick and choose pedals to add to their pedalboard configuration

Oops...cant display

  • Users can drag and drop pedals

Oops...cant display

  • Users can rotate pedals to have a more realistic experience

Oops...cant display

  • Users can delete pedals from their build

Oops...cant display

  • Users can reset their build

Oops...cant display

  • Users can save their build, whilst retaining all pedal rotation values and positioning coordinates

Oops...cant display

  • Users can load their build from a build history. Previously saved rotation and position values of each pedal will persist on load.

Oops...cant display

  • Users can update their build history

Oops...cant display

  • Users can double-click a pedal to hear what it sounds like

Oops...cant display

  • Users can sign-in using Google OAuth / Facebook OAuth

Oops...cant display

  • Users can checkout with Stripe API

Oops...cant display

Development

System Requirements

  • Node.js v10
  • NPM v6
  • MongoDB v4

Getting Started

Clone the repository.

git clone https://github.com/ArthurHwang/toneify.git

Install dependencies.

cd toneify/
npm install

Create a .env file in the project root. Example:

MONGODB_URI=mongodb://localhost:27017/toneify
PORT=3000

Automatically run/restart server with nodemon and live reload page on update with browser-sync

npm run watch

Run without nodemon and browser-sync

npm run build
npm run start