SoundCloud API Project AppAcademy
A website to view songs and albums made by other users for every user. You can add albums and songs by signing up or logging in if a account is already made. Also if you don't want to make a account feel free to use the Demo User to test the sight out before you make a account.
- React
- Redux
- Express
- Node Js
- Sqlite3
- Postgres
- Heroku
- pull the project to clone the project
- cd into the backend and frontend folderds and npm install
- cd into the backend folder and set up your local environment with a .env file example below
Rum the App on your local environment by using two different terminals one being in the backend folder and the other being in the front end folder in both folders.
Live link: https://tylers-soundcloud-project.herokuapp.com/
Here you have access to view the Splash page, Songs, Albums for view only. You can utilize the Log in, Signup or Demo User to access Create, Update, Delete songs or albums.
Here you can start by creating a Album and from there create songs for the Album to perform your Crud actions on either one.
With access to the albums page you can access CRUD actions on your albums only, each album displays the songs associated with that album.
With access to the songs page you can access CRUD actions on your songs only.
Access by clicking on one of the songs on the songs view page. It will redirect you to display the individual song.
Access by clicking on one of the albums on the albums view page. It will redirect you to display the individual album.
In order to implement security and validation if you are not the owner of a song/album you will not have access to Update/Delete a song or Album. Also will not have access to add songs to a album you do not own. You can view songs and albums that are on the application but cannot perform non-user actions on them. Controls this by checking the album and song userId against the login user.id below is a coding example:
- Playlists
- Comments
- CRUD operations for Playlists/comments
- Profile page for the current user displaying specific information with ways to adjust settings/information