Code Monkey home page Code Monkey logo

deezerapp's Introduction

Deezer App

The application is developed using the Kotlin language and incorporates Jetpack Compose. On the initial screen of the app, music genres are listed. On the same page, there is a heart icon that leads to the 'Favorites' page. When a music genre is selected, it takes you to the 'Artists' page, which lists artists related to the chosen music genre. When you select a specific artist, it displays details about the artist and lists their albums on the 'Artist Details' page. If you select an album from the list, it takes you to the 'Album Details' page, where you can add songs to your favorites. You can also remove songs from your favorites if they are already added. A 30-second preview of the selected songs is available, and you can stop the preview whenever you like. In the 'Favorites' page, you can play 30-second previews of the added songs and stop them as needed. You can also remove songs from your favorites. The application is compatible with both light and dark themes.

Tech Stack ๐Ÿ“š

Video from app ๐Ÿ“ฑ

record.mp4

Outputs ๐Ÿ–ผ

Dark Light
Music Genres
Artists
Artist Detail
Album Detail
Favorites
Play Music

Modularization ๐Ÿ“ฆ

  • :app The module responsible for navigation.
  • :feature:albumdetail,:feature:artistdetail ,:feature:artists ,:feature:favorites ,:feature:musicgenres, :feature:playmusic Each module represents a screen.
  • :feature:designsystem It houses the components and icons present in the application. It sets the theme of the application.
  • :feature:ui It houses the common components used by screens.
  • :core:models It contains the models to be used on the UI side.
  • :core:domain It houses use cases. It serves as a bridge between the data layer's repositories and the UI.
  • :core:data It retrieves data from sources and sends it to the UI through the :core:domain module.
  • :core:network It sends requests to APIs and processes the returned responses.
  • :core:database It stores data in a local database using Room.
  • :core:common Stores common classes shared between modules.

Architecture ๐Ÿ—

The app uses MVVM [Model-View-ViewModel] architecture to have a unidirectional flow of data, separation of concern, testability, and a lot more.

mvvm

deezerapp's People

Contributors

ahmetocak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.