MusicStorm, a SoundCloud clone, is a rendition of the music streaming platform SoundCloud, that allows users to upload, edit and listen to music.
Explore the docs »
View Site
·
Report Bug
·
Request Feature
Click here to view MusicStorm live!
The app was built using Express and Sequelize on the back end with a PostgreSQL database. The backend structure is RESTful with AJAX requests that are fullfilled with JSON Objects. Model associations are used to minimize database queries to the backend, assuring speed and reliability.
The front end is built with React and Javascript while utilizing Redux architecture, producing a lightning-fast user interface and calling upon dynamically rendered components.
Prerequisites
- NPM
- Node.js >= 14
- PostgreSQL
Installation
- Clone the repo:
https://github.com/sonajasani/Music-Storm
- In
/backend
runnpm install
- .. then once again in
/frontend
- Create a Postgres database and a user with CREATEDB privileges and a password
- In
/backend
create a .env file and declare your environment variables using.env.example
as a reference. - To generate a secret, useopenssl
in your shell:openssl rand -base64 10
- Initialize your database using sequelize-cli:
npx dotenv sequelize db:create
npx dotenv sequelize db:migrate
npx dotenv sequelize db:seed:all
- Finally, fire up your servers: run
npm start
in/backend
and once again in/frontend
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Sona Jasani - GitHub
- Project Link: https://github.com/sonajasani/Music-Storm
- Define React PropTypes
- Waveform scrub event
- Player shuffle and repeat
- Audio player with continuous playback
- Waveform visualization