Skip to content

tidianecs/Ditify

Repository files navigation

Ditify

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


Overview

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.


Stack

  • Flutter — mobile framework
  • Dart — programming language
  • Deezer Public API — music data (tracks, artists, albums)
  • Provider — state management
  • REST / HTTP — API calls

Features

  • 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

Project Structure

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

Deezer API

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.


Getting Started

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 run

Platform

Android only.


Author

Cheikh Ahmed Tidiane Cissé — 3rd-year CS Engineering Student at DAUST, Dakar

Portfolio · LinkedIn

About

A mini version of spotify using flutter + deezer public api(bc spotify api down rn T_T)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors