A Music Recommendation System made using Flutter and backed by FastAPI.

Overview

ProjectX Music

A Music Recommendation System made using Flutter and backed by FastAPI.

Introduction

ProjectX Music is an online mobile application that acts similarly to its alternatives, like Spotify, LastFM, etc. It consists of mobile application ( both for Android and iOS ) backed by an online hosted server written entirely using Python3.

It solely uses the vast musical library of LastFM as its music catalog, so you may find the same catalog of music as in the LastFM app itself. We are thankful to LastFM as it provides us with an efficient technique to access their music library, which contains a lot of useful data necessary for our use case. It is to be noted that, no user data is sent back to LastFM from ProjectX Music, for any audio scrobbling activity.

Requirements

  • Python ( check version info from runtime.txt )

How to deploy the Backend

  1. To install all the necessary python libraries:

    python3 -m pip install -r requirements.txt
    
  2. Not run the startServer.py file stored in the root of the project.

    python3 startServer.py
    

Who are we ?

We are a group of students interested to explore different technologies extending from Machine Learning to Mobile Applications, and more.

Comments
  • DB Support Enhancement

    DB Support Enhancement

    Feature Request Add support for all standard well-known databases. Below is a given list of some of the databases which are expected to be supported by our backend -

    Possible Release Impact Not Applicable

    enhancement good first issue help wanted 
    opened by Edumate696 0
  • Initial Schema Design

    Initial Schema Design

    Design the initial database schema structure, which represents all the essential major entities along with required minor entities. ( follow structure from the LastFM API )

    Format: ER diagram, UML diagram, or any more suitable one

    enhancement good first issue 
    opened by Edumate696 2
  • Bump certifi from 2022.9.24 to 2022.12.7

    Bump certifi from 2022.9.24 to 2022.12.7

    Bumps certifi from 2022.9.24 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Google Authentication Support

    Google Authentication Support

    Feature Request

    Add support for user authentication using their Google Account

    Optional Additional Items

    Possible Impact

    All users can associate their Google account with their user id and logging using the same.

    Possible Reach

    Possibly Everyone will be benefited from it

    enhancement wontfix 
    opened by Edumate696 1
  • Configuration Enhancement

    Configuration Enhancement

    Feature Request

    1. Add Enum Values for all configuration keys
    2. Relocate *.conf loader scripts from startServer.py file to core libraries
    3. Add additional utility function for easy access to configurations using its Enum value from the whole backend library

    Possible Release Impact Not Applicable

    enhancement good first issue 
    opened by Edumate696 0
  • Codebase design pattern change

    Codebase design pattern change

    The whole codebase is restructured to make it more productive, by maintaining dependencies more efficiently. Along with that, each sub-part of the project is documented mentioning its usage and possible dependencies.

    documentation enhancement 
    opened by Edumate696 0
  • Build LastFM Service

    Build LastFM Service

    Implement a LastFM Service to retrieve data from LastFM's Database.

    Features Needed:

    • [x] Entity Searching for Artist, Album, Track, etc.
    • [x] Support for entity searching using Musicbrainz ID as well.
    • [x] Efficient caching mechanism to reduce hits to LastFM Database and thus enable continuous usage and increased performance of the service
    enhancement 
    opened by Edumate696 0
  • DB Support Enhancement

    DB Support Enhancement

    Feature Request Add support for all standard well-known databases. Below is a given list of some of the databases which are expected to be supported by our backend -

    Possible Release Impact Not Applicable

    enhancement good first issue help wanted 
    opened by Edumate696 0
  • Initial Schema Design

    Initial Schema Design

    Design the initial database schema structure, which represents all the essential major entities along with required minor entities. ( follow structure from the LastFM API )

    Format: ER diagram, UML diagram, or any more suitable one

    enhancement good first issue 
    opened by Edumate696 2
Owner
ProjectX Music App
ProjectX Music App
🎵 Elegant music app to play local music & YouTube music. Distributes music into albums & artists. Has playlists & lyrics.

Harmonoid Elegant music app to play local music & YouTube music. Download Now ?? Feel free to report bugs & issues. We'll be there to fix. Loving the

Harmonoid 2.5k Dec 30, 2022
🎵 Elegant music app to play local music & YouTube music. Distributes music into albums & artists. Has playlists & lyrics. Windows + Linux + Android.

Harmonoid Elegant music app to play local music & YouTube music. Download Now ?? Windows, Linux & Android. Feel free to report bugs & issues. Loving t

Harmonoid 1.9k Aug 10, 2022
Flutter Music Player - First Open Source Flutter based material design music player with audio plugin to play local music files.

Flutter Music Player First Open Source Flutter based Beautiful Material Design Music Player(Online Radio will be added soon.) Demo App Play Store BETA

Pawan Kumar 1.5k Jan 8, 2023
Flutter app backed by Redux, shows animations, internationalization (i18n), ClipPath, fonts and others...

A Flutter tourism app that is backed-by Redux, shows animations, internationalization (i18n, English <=> Arabic), ClipPath, and fonts. YouTube demo I

Abdulmomen Kadum عبدالمؤمن كاظم 277 Dec 28, 2022
Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library.

Playify Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library. Playify was built using iOS's Medi

Ibrahim Berat Kaya 32 Dec 14, 2022
Music Streaming and Downloading app made in Flutter

Musify Music Streaming and Downloading app made in Flutter! Show some ❤️ and ⭐ the Repo Features Online Song Search ?? Streaming Support ?? Offline Do

Harsh Sharma 257 Dec 30, 2022
Music App made with flutter

Chillify A Flutter music app made with Provider and BLoC pattern. (Works on Android for now) Recommended Flutter version: 1.7.8+hotfix.4 UI heavily in

Karim Elghamry 632 Jan 4, 2023
Plant-monitor - Plant monitoring system using IoT, MongoDB, and Flutter

Plant Monitor IoT based plant monitoring system which is connected to MongoDB. T

Souvik Biswas 15 Dec 1, 2022
Automated blinds system using Raspberry PI and Flutter

Sunrise An automated blinds system using Raspberry PI controlled by an UI-friendly mobile application. This product will help the user be more comfort

Zoghlami Khalil 0 May 14, 2022
:lock: this is flutter mobile application music using glass morphism concept

Flutter Glass Morphism ?? Description: This is source flutter using glass morphism concept How I can run it? ?? Clone this repo ?? Run below code in t

Dao Hong Vinh 12 Jan 19, 2022
A Music app built using flutter

Bungee A Flutter musical app built with nodejs and firebase. Description Bungee is the first music app build with Flutter. With a nice interface you c

Open Consulting Group 259 Jan 1, 2023
Caffodils - Download everything | Flutter app for Android and IOS. Download Video, Reels, Shorts, Music, Images, Files from Instagram, Facebook and Youtube

caffodils Caffodils - Download everything Flutter app for Android and IOS. Download Video, Reels, Shorts, Music, Images, Files from Instagram, Faceboo

Caffodils 11 Oct 24, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

AnTler 140 Dec 30, 2022
Real-Distributed RTC System by pure Go and Flutter

ION ION is a distributed real-time communication system, the goal is to chat anydevice, anytime, anywhere! Online Docs https://pionion.github.io Spons

Pion 3.7k Jan 8, 2023
Naj - An open-source code generation and file management system written in Dart

Naj An open-source code generation and file management system written in Dart Ov

Najibullah Khoda Rahim 1 Feb 14, 2022
A Flutter package for working with piano keys and sheet music

Piano A Flutter package that provides: logic for working with musical notes, clefs and octaves; a widget that can render notes on a clef; an interacti

Craig McMahon 32 Jan 5, 2023
A mobile music streaming app with a complex UI built with Flutter and the Deezer API🚀

Sap Sap is a music streaming & discovery app built with the Deezer API for iOS and Android. It includes a mini player, search and local storage. Be su

Carlton Aikins 53 Dec 28, 2022
A Flutter plugin for playing music on iOS and Android.

Stereo plugin for Flutter A Flutter plugin for playing music on iOS and Android. Features Play/pause Stop Duration / seek to position Load track from

2find 67 Sep 24, 2022
Paper is a implementation of Flx Design System for Flutter

Paper is a implementation of Flx Design System for Flutter. Installing Add a lines like this to your pubspec.yaml. dependencies: paper: git:

Flx Team 3 Nov 21, 2021