Giter VIP home page Giter VIP logo

akash-goyal-github / musix_app Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 21.0 35.46 MB

Who doesn't appreciate good music :zany_face: Musix-App is a platform where you can browse nonstop tunes around the world :heart_eyes: The platform is very easy to use for people from all walks of life and of any age. They can search music by album/ by artist or by country. :partying_face: :gift_heart: Login/registration is required only if they want to see recommendations or add songs to favorites. :100: :boom:

Home Page: https://github.com/Akash-goyal-github/Musix_App

Java 16.51% JavaScript 2.10% TypeScript 39.33% HTML 25.67% CSS 16.39%
angular angular-project mongodb jwt-authentication spring-boot api itunes-api itunes music musixapp

musix_app's Introduction

Musix-App ๐Ÿ’ฅ๐Ÿ’ฏ

Who doesn't appreciate good music? ๐Ÿคช

  • Musix-App is a platform where you can browse nonstop tunes around the world. ๐Ÿ˜ The platform is very easy to use for people from all walks of life and of any age. They can search music by album/ by artist or by country. ๐Ÿฅณ ๐Ÿ’

  • Login/registration is required only if the you want to see recommendations or add songs to favorites. ๐Ÿ’ฏ ๐Ÿ’ฅ


This project was generated with Angular CLI: 11.2.1. We used itunes API to fetch the data. Source:https://developer.apple.com/develop/

Objective:

  1. Enabling the user to play music artist-wise, album-wise and country-wise.
  2. Enabling the user to save their favourites by signing in.
  3. User can also recommend songs and access the list of songs reccomended by others by logging in.
  4. User can access the video links of music from different genres.
  5. User can add comments to the songs.
  6. User can logout.

RoadMap:

  1. Register-->login/continue without registration.
  2. Play songs by artist/ album/ country.
  3. Add favourites/recommendations (for registered users).

Actions:

  1. Fork this repository.
  2. Clone the repository and cd into it/ import the spring boot files.
  3. Install dependencies through npm install in Angular Musix_App.
  4. Run the emailsender backend using the command node app.js which shall run on port:3000.
  5. Run the musix_app_backend as Spring boot App on the server port 8282 and configure the datasource with your mysql user credentials(in Application Properties}.
  6. Run the musix_reg_login_backend as Spring boot App on the tomcat port 8080 and configure your mongodb through application properties file.
  7. Run the frontend npm run start which shall run on port:4200.

Prerequisites: -JDK 1.8 or later -Maven 3 or later -MySQL 5.6 or later -MongoDB 4.2

Stack: -Spring MVC -Spring Security -Spring Data JPA -Maven -JSP -MySQL -MongoDB

Know your server:

  1. To register the user- post- http://localhost:8282/register- Expecting data-{ name,email, password, image }
  2. To authenticate User - post- http://localhost:8282/login -Expecting data-{email , password}
  3. To get specific user details- get- http://localhost:8282/getuserdetails/{userId}- expecting header - { 'Authorization', Bearer ${token} }.
  4. To add favourites- post- http://localhost:8080/favourites/addtofav- Expecting data-{userEmail, trackName, trackId, albumName, trackurl, trackGenre, isaddedtofav }
  5. To get favourites- get -http://localhost:8080/favourites/getallfav- expecting header - { 'Authorization', Bearer ${token} }.
  6. To add recommendations- post -http://localhost:8080/recommend/addtorecommend-Expecting data-{userEmail, trackName, trackId, albumName, trackurl, trackGenre, isaddedtofav }
  7. To get all recommendations- get -http://localhost:8080/recommend/getallrecommend- expecting header - { 'Authorization', Bearer ${token} }.

Steps to Setup the Spring Boot Back end app: 1.Clone the application 2.Create MySQL database. 3.Change MySQL username and password as per your MySQL installation. -open src/main/resources/application.properties file. -change spring.datasource.username and spring.datasource.password properties as per your mysql installation. 4.Run the app. -run as spring Boot App/ command: mvn spring-boot:run.

Steps to be followed in running Angular: 1.npm install, npm run build, npm serve. 2. For unit test cases testing: npm run test via Karma. 3. For e2e test cases testing: npm run serve, npm run e2e via Protractor.

features used for UI display:

  1. Angular Material
  2. Responsive Design, Bootstrap, HTML 5.1, CSS

For further help:

  1. To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

musix_app's People

Contributors

akash-goyal-github avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

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.