A Spotify-inspired music app built with Flutter, powered by the Deezer public API. Built as a personal project to learn Flutter and mobile development.
Personal Project · 2025
Ditify lets users browse and stream music from the Deezer catalog. Users can search for artists, albums and tracks, listen to previews, and navigate through artist and album pages.
- Flutter — mobile framework
- Dart — programming language
- Deezer Public API — music data (tracks, artists, albums)
- Provider — state management
- REST / HTTP — API calls
- Browse popular tracks and artists on the home screen
- Search by track, artist or album
- Artist page with top tracks and discography
- Album page with full tracklist
- Stream 30-second track previews via Deezer
- Loading screen on app startup
lib/
├── Images/
├── Models/
│ ├── AlbumModel.dart
│ ├── AlbumArtistModel.dart
│ ├── ArtistModel.dart
│ ├── GenreModel.dart
│ ├── TheAlbumModel.dart
│ ├── TopArtistModel.dart
│ └── TrackModel.dart
├── Providers/
│ ├── AlbumProvider.dart
│ ├── ArtistAlbumProvider.dart
│ ├── ArtistTrackProvider.dart
│ ├── SearchProvider.dart
│ ├── TopArtitsProvider.dart
│ └── TrackProvider.dart
├── Services/
└── Layouts/
├── Screens/
│ ├── HomeScreen.dart
│ ├── AlbumScreen.dart
│ ├── ArtistScreen.dart
│ ├── TrackScreen.dart
│ └── LoadingScreen.dart
└── Widgets/
├── HomeBodyWidget.dart
├── AppBarWidget.dart
├── SearchBarWidget.dart
├── SearchResultsWidget.dart
├── PopularTrackListWidget.dart
├── PopularArtistListWidget.dart
├── ArtistTracksListWidget.dart
├── ArtistAlbumsListWidget.dart
└── AlbumTracksListWidget.dart
Ditify uses the Deezer public API — no API key required.
| Endpoint | Description |
|---|---|
/search?q={query} |
Search tracks, artists, albums |
/artist/{id} |
Artist details |
/artist/{id}/top |
Artist top tracks |
/artist/{id}/albums |
Artist discography |
/album/{id} |
Album details and tracklist |
/chart |
Trending tracks and artists |
Note: Deezer's public API only provides 30-second previews for tracks.
Requirements: Flutter SDK 3.x+ · Android device or emulator
# Clone the repo
git clone https://github.com/tidianecs/Ditify.git
cd Ditify
# Install dependencies
flutter pub get
# Run on Android
flutter runAndroid only.
Cheikh Ahmed Tidiane Cissé — 3rd-year CS Engineering Student at DAUST, Dakar