Music Room: a mobile app that offers a new way of experiencing music

Overview

๐ŸŽผ Music Room - 42 School Project

๐ŸŽธ ๐Ÿคณ๐Ÿป Music Room is a mobile app that offers a new way of experiencing music

๐ŸŽง Consuming music is something highly personal. Even though we love sharing our favorite tracks, lots of people generally listen music on their own, at work, at home or walking on the street, earphones into ears.

๐Ÿง What if you could experiment music in another way?

๐ŸŽฏ Thatโ€™s the goal of Music Room! ๐Ÿ™Œ๐Ÿป ๐ŸŽท

Overview

๐ŸŽผ Music Room is a social mobile app with the following features:

๐Ÿ‘ฏโ€โ™€๏ธ Social media: creating a user profile is compulsory to access Music Room. Users can enrich their profile and share their musical tastes. You can visit your friend profile and know what they listen to, follow their playlist and help them to create to most joyful playlist ever!

โœ๏ธ Playlist editor: users can create playlists on their own or collaboratively and in real-time.

๐ŸŽง Music player: Music Room has its own music player so that users can directly listen any Music Room playlist.

๐ŸŽ‰ Link a playlist to an event: Music Room allows its users to conceive playlists for a specific event they attend (a birthday party for instance). This playlist will be accessible to invited users only. All physically present guests will be able to enrich the playlists with its favorite tracks.

๐Ÿ“ฉ Voting feature: users that attend an event can vote for their favorite tracks among the playlist. The playlist order will be adjust in real-time so that most popular tracks can be played in priority.

๐Ÿค Control delegation: a user can delegate its Music Room control to a friend. His friend will be able to choose when and which track is played at any moment

๐Ÿ—ฃ Chat: to talk with your friends

Technical features:

  • ๐Ÿ“ฒ Real-time application

  • ๐Ÿš€ Third-parties integration: Google, Facebook and Spotify SDKsโ€จโ€จ

  • ๐Ÿ“š Access to the millions of tracks from Spotifyโ€จโ€จ

  • ๐Ÿ” Rights personalisation: user can control visibility of its activity and also rights of reading and writing over its playlists and events. โ€จโ€จ

  • ๐ŸŒ geolocation

Stacks we used:

Back:โ€จ

Front:โ€จ

Test the app:

โ€จ ๐Ÿ‘€ To see a demo

download this video

๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป Launch the project

Front:

  • Install pods pod install
  • Open Music_Room.xcworkspace
  • Launch the simulator on xCode

Back:

  • npm i
  • npm start

๐Ÿšจ To hear sounds with the player, you need to use a real device on the simulator (from xCode).

Credits

School projects made by: @trleveq @jnoeโ€จ @mpicard

You might also like...
Deal with query items, HTTP headers, request body and more in an easy, declarative way

Reusable system for complex URL requests with Swift. Deal with query items, HTTP headers, request body and more in an easy, declarative way. Check out our engineering blog to learn more!

This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app.
This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app.

This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and Apple TV app. With this Framework you can create iPh

StatusBarOverlay will automatically show a
StatusBarOverlay will automatically show a "No Internet Connection" bar when your app loses connection, and hide it again. It supports apps which hide the status bar and The Notch

StatusBarOverlay StatusBarOverlay will automatically show a "No Internet Connection" bar when your app loses connection, and hide it again. It support

Securely synchronize any CareKit 2.1+ based app to a Parse Server Cloud. Compatible with parse-hipaa.
Securely synchronize any CareKit 2.1+ based app to a Parse Server Cloud. Compatible with parse-hipaa.

ParseCareKit Use at your own risk. There is no promise that this is HIPAA compliant and we are not responsible for any mishandling of your data This f

A network extension app to block a user input URI. Meant as a network extension filter proof of concept.
A network extension app to block a user input URI. Meant as a network extension filter proof of concept.

URIBlockNE A network extension app to block a user input URI. Meant as a network extension filter proof of concept. This is just a research effort to

Native ios app to download tiktoks localy made in swift with SwiftUI
Native ios app to download tiktoks localy made in swift with SwiftUI

sequoia Native ios app to download tiktoks localy made in swift with SwiftUI without external dependencies. features save video localy view saved vide

Official ProtonVPN iOS and macOS app

ProtonVPN for iOS and macOS Copyright (c) 2021 Proton Technologies AG Dependencies This app uses CocoaPods for most dependencies. Everything is inside

Scrcpy-iOS.app is a remote control tool for Android Phones
Scrcpy-iOS.app is a remote control tool for Android Phones

Scrcpy-iOS About Scrcpy-iOS.app is a remote control tool for Android Phones based on [https://github.com/Genymobile/scrcpy]. Features: Connect remote

Request adapter for URL requests from "MovieLister" demo app (Swift for Good book, a chapter by Ben Scheirman)

RequestAdapter Request adapter for URL requests from "MovieLister" demo app (Swift for Good book, a chapter by Ben Scheirman) The code is taken from:

Owner
Marie-Lise Picard
Marie-Lise Picard
Mullvad VPN desktop and mobile app

Mullvad VPN desktop and mobile app Welcome to the Mullvad VPN client app. This repository contains all the source code for the desktop and mobile vers

Mullvad VPN 3k Jan 3, 2023
Server-side Swift. The Perfect core toolset and framework for Swift Developers. (For mobile back-end development, website and API development, and moreโ€ฆ)

Perfect: Server-Side Swift ็ฎ€ไฝ“ไธญๆ–‡ Perfect: Server-Side Swift Perfect is a complete and powerful toolbox, framework, and application server for Linux, iO

PerfectlySoft Inc. 13.9k Jan 6, 2023
Codegeneration tool for isomorphic server and mobile Go apps with gRPC & Protobuf.

Codegeneration tool for isomorphic server and mobile Go apps with gRPC & Protobuf. Share code between your backend, Android & iOS app!

Kirill Biakov 17 Jun 25, 2020
A new Flutter plugin that uses OpenVpn

flutter_openvpn A new Flutter plugin that uses OpenVpn. Installation Depend on it Add this to your package's pubspec.yaml file: dependencies: flutte

Vladislav Len 4 Dec 26, 2022
A new, clean and lean network interface reachability library written in Swift.

Reachability A new, clean and lean network interface reachability library written in Swift. Remarks Network reachability changes can be monitored usin

Alecrim 7 Aug 8, 2022
This package is meant to make http request of an easy way inspiren in the architecture of Moya package

NetworkAgent This package is meant to make http request of an easy way inspiren in the architecture of Moya package. This package is 100% free of depe

Angel Rada 19 Sep 8, 2022
The civilized way to write REST API clients for iOS / macOS

The elegant way to write iOS / macOS REST clients Drastically simplifies app code by providing a client-side cache of observable models for RESTful re

Bust Out 2.2k Nov 20, 2022
The easy way to use sockets on Apple platforms

SwiftSocket SwiftSocket library provides as easy to use interface for socket based connections on server or client side. Supports both TCP and UDP soc

null 1.6k Dec 21, 2022
EasyImplementationAlamoFire - An iOS project to demonstrate the usage of Alamofire in an efficient and organised way.

EasyImplementationAlamoFire Tutorial to demonstrate an efficient way of handling the APIs structure for your iOS Applications. Prerequisites Swift 5 X

null 0 Jan 3, 2022
Real-time Apps the SwiftUI way

Sync Sync is a proof of concept for expanding on the Magic of ObservableObject, and making it work over the network. This let's you create real-time A

Mathias Quintero 138 Dec 14, 2022