Skip to content

Musiclum is a sleek music application designed to enhance your music discovery experience.

License

Notifications You must be signed in to change notification settings

tortamque/Musiclum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Musiclum

Description

Musiclum is a sleek music application designed to enhance your music discovery experience. Built with Flutter and Dart, it seamlessly showcases artists and their songs, empowering users to explore and select their favorite tunes effortlessly.
Crafted with user-centric principles, Musiclum incorporates a Clean architecture paradigm, merging the Repository and Bloc design patterns. This fusion guarantees streamlined data handling and delivers an instinctive user journey.

Table of Contents

Before you read

Musiclum utilizes the Spotify API. However, due to limitations on Spotify access tokens, you need to provide your access token (lib/core/sensitive.dart) and manually build this app. You can find detailed instuction in the installation paragraph.

Architecture

Musiclum fully embraces the Clean Architecture pattern, incorporating both the Bloc and Repository patterns.
Clean Architecture consists of the following layers:

  1. Data Layer
  2. Domain Layer (Business Logic)
  3. Presentation Layer (UI)

Architecture for API calls: Api

Architecture for Storage calls: Hive

Features

  • Retrieve real-time information with utmost accuracy through the Spotify API to ensure the most current data.
  • Browse a curated list of artists and their songs.
  • View detailed information about each artist, including discography.
  • Mark favorite artists and songs for quick access.
  • Intuitive navigation across three seamlessly integrated screens.
  • Sleek and modern user interface with smooth animations.
  • Responsive design ensuring optimal performance on various devices.

Supported platforms

Musiclum is a cross-platform mobile application that supports both Android and iOS platforms.

Installation

To run the Musiclum app locally, follow these steps:

  1. Clone this repository to your local machine.
  2. Ensure you have Flutter and Dart installed on your system.
  3. Generate your Spotify access token (Instructions).
  4. Provide your access token in the lib/core/sensitive.dart file.
  5. Navigate to the project directory in your terminal.
  6. Run the command flutter pub get to install the required dependencies.
  7. Connect a device or start an emulator.
  8. Run the command flutter run to launch the app.

Usage

  1. Launch the Musiclum app .
  2. The list of artists will appear on the screen.
  3. Utilize the search bar located at the top of the screen to find your favorite artists.
  4. Tap on an artist card to access detailed information about the artist.
    • You will view the artist's discography, including albums and tracks.
    • To add a track to your favorites, simply tap on the bookmark button (enjoy the beautiful animation ๐Ÿ˜ƒ).
    • You can also remove a track by pressing the button again.
  5. To view your favorites, navigate to the main menu and select the "Favorites" button.
    • You will see a list of artists and their tracks, sorted first by artist and then by song title.
    • To remove a track from favorites, tap on the bookmark button again.
    • If you accidentally remove a track, simply press the button again.

Screenshots and Demo

Screenshots

Screenshot_2 Screenshot_3 Screenshot_4 Screenshot_5 Screenshot_6 Screenshot_7 Screenshot_8 Screenshot_1

Demo

Demo3.mp4

Changelog

[1.0] - 10.02.2024

Added

  • Initial release. ๐Ÿ”ฎ

Used Packages

The Musiclum app utilizes the following packages:

Name Version Link on pub.dev
flutter_bloc 8.1.3 Link
retrofit 4.1.0 Link
get_it 7.6.7 Link
dio 5.4.0 Link
equatable 2.0.5 Link
json_annotation 4.8.1 Link
like_button 2.0.5 Link
hive 2.2.3 Link
hive_flutter 1.1.0 Link
collection 1.17.2 Link

License

Apache License Version 2.0