Giter Site home page Giter Site logo

team-synesthesia / audioanimated Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 7.75 MB

An interactive web application that allows users to create music with beautiful animations that move to your music and share their creations with their freinds

Home Page: http://audioanimated.onrender.com

License: MIT License

HTML 1.41% CSS 1.47% JavaScript 93.95% Shell 1.30% PLpgSQL 1.87%
react redux webworkers audiocontext express material-ui

audioanimated's Introduction

audioAnimated

An interactive web application that allows users to create music with beautiful animations that move to your music and share their creations with their freinds.

app-screenshot

  1. Watch our recorded demo to see what you can create: https://youtu.be/h_EGWJua-0w
  2. Then Create an account
  3. Record with our in-app recording software, or upload existing files into your project editor. Create music by layering and connecting tracks together.

layer-and-record

  1. Choose a base graphic for your project, and watch the animation move and breathe with your song.

choose-graphic

  1. Share with your friends by generating a sharable link.

share-your-creation

Setup

Database:

  • In Dev you will need to create a local postgresdb called audioanimated. Then run the script script/seed.js. This will create the schema and add the seed data for local dev.
  • In Prod you will need to set this database up somewhere of your choice then provide the environment variable DATABASE_URL. E.g.:
    DATABASE_URL="postgresql://<<username>>:<<password>>@<<host-address>>:<<port>>/<<dbname>>"
    

File storage:

The music files are now stored in an s3 bucket in AWS for both develepment and production running of the application. You will need to create an AWS account, create and s3 bucket and allow access via AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.

Environment variables

You will need to provide these environment variables in dev and prod:

A .env file is required to run this app in development.

  1. Add a .env in the root dir of this repo
  2. add these variables:
AWS_ACCESS_KEY_ID=xxx // as mentioned above
AWS_SECRET_ACCESS_KEY=xxx // as mentioned above
S3_BUCKET_NAME=audioanimated // or whatever you call the bucket
S3_REGION=us-east-2 // choose the same region that you web server uses
S3_ENV_PREFIX=dev // this is just a prefix in the bucket to separate files between environments

// prod only:
DATABASE_URL=postgresql://<<username>>:<<password>>@<<host-address>>:<<port>>/<<dbname>> // only needed in prod

audio files that are uploaded or created in the app will be saved in the s3 bucket.

Development

  • install all required packages using $ npm install
  • You will need to have postgreSQL installed in your local dev env.
  • create the database audioanimated
  • Seed the database by running $ npm run seed
  • Run the app in dev by running both :
    • $ npm run server
    • $ npm run client

audioanimated's People

Contributors

cjung14 avatar philbertani avatar robertdavidwest avatar

Watchers

 avatar

Forkers

robertdavidwest

audioanimated's Issues

fix state changes for all file related things

  • upon creation of a new file, need to create reducer /action to add file in redux
  • upon deletion of a file, need to create delete reducer /action to remove file in redux
  • upon deletion remove raw data from raw data redux state

NOT NEEDED NOW:

  • fix login sign up routing problem (this is already done)
  • get rid of random 0 on all projects page (this is already done)

add options on filecard

  • add on/off toggle on FileCard to change if file is being play by the section player
  • include volume slider on each file card that will adjust the level of a file that is being played in a section

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.