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.
- Before you read
- Architecture
- Features
- Supported platforms
- Installation
- Usage
- Screenshots and Demo
- Changelog
- Used Packages
- License
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.
Musiclum fully embraces the Clean Architecture pattern, incorporating both the Bloc and Repository patterns.
Clean Architecture consists of the following layers:
- Data Layer
- Domain Layer (Business Logic)
- Presentation Layer (UI)
Architecture for Storage calls:
- 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.
Musiclum is a cross-platform mobile application that supports both Android and iOS platforms.
To run the Musiclum app locally, follow these steps:
- Clone this repository to your local machine.
- Ensure you have Flutter and Dart installed on your system.
- Generate your Spotify access token (Instructions).
- Provide your access token in the lib/core/sensitive.dart file.
- Navigate to the project directory in your terminal.
- Run the command
flutter pub get
to install the required dependencies. - Connect a device or start an emulator.
- Run the command
flutter run
to launch the app.
- Launch the Musiclum app .
- The list of artists will appear on the screen.
- Utilize the search bar located at the top of the screen to find your favorite artists.
- 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.
- 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.
Demo3.mp4
- Initial release. ๐ฎ
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 |
Apache License Version 2.0