GithubHelp home page GithubHelp logo

remake1 / music-streaming-service Goto Github PK

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

Music streaming service web app. Made using Vue3 and NodeJS(Nest.js). Authorization, Songs, Albums, Playlists, Search, Web music player, i18n.

License: MIT License

Dockerfile 0.20% JavaScript 10.56% HTML 0.49% Vue 60.55% CSS 1.03% Batchfile 0.01% TypeScript 27.15%
axios mongodb mongoose nest nestjs vue vue3

music-streaming-service's Introduction

Screenshots

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

About

This is a music streaming app. It allows users to upload songs, create albums, and playlists. Users can also comment songs and listen to them. The application is built with Vue.js and Nest.js. The database is MongoDB. Static files are stored locally on api server.

Technologies used

Client

  • Vue.js 3
  • Pinia
  • Tailwind CSS
  • Axios
  • I18n

Server

  • Nest.js
  • JWT & Passport
  • Serve-static
  • Swagger
  • Mongoose
  • MongoDB

Set up with Docker

docker-compose up -d

Web client Setup

Install packages:

yarn install

Run:

yarn serve

Navigate to http://localhost:8080/

API Setup

Setup and configure mongo DB uri at src/app.module.ts

Install packages:

yarn install

Run:

yarn start:dev

Static files stored in dist/static/

Locally http://localhost:3000/

API Routes

Request type, path Description of the request
Authorization
POST/auth/login Authorization
POST/auth/reg Registration
Songs
POST/songs Add a song
GET/songs Get all songs
GET/songs/user Get all songs, added by the certain user
GET/songs/search Search for a song
GET/songs/number Number of all songs
GET/songs/{id} Get song by ID
DELETE/songs/{id} Delete a song
POST/songs/comment Add a comment to the song
POST/songs/listen/{id} Add listening to a song
Albums
POST/album Create an album
GET/album Get all albums
GET/album/count Number of all albums
GET/album/search Search albums
GET/album/{id} Get album by ID
DELETE/album/{id} Delete album
PUT/album/{id}/{songId} Add a song to an album
Playlists
POST/playlists Create a playlist
GET/playlists Get all playlists user
GET/playlists/{id} Get playlist by ID
PATCH/playlists/{id} Make a playlist public
DELETE/playlists/{id} Delete playlist
GET/playlists/anon/{id} Get public playlist from another user, by ID
PUT/playlists/{id}/{songId} Add a song to playlist

License

MIT licensed

music-streaming-service's People

Contributors

remake1 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.