Skip to content
This repository was archived by the owner on Sep 28, 2026. It is now read-only.

Repository files navigation

Spotify 2026

Java application that simulates a music platform, built following Clean Architecture principles.

Architecture

The project is structured in 3 layers:

  • Domain - Models, repository interfaces and use cases. No external dependencies.
  • Data - Repository implementations and data sources (in-memory, API).
  • Presentation - Views that consume use cases and display results.

Each feature (songs, albums, authors) follows this same structure independently.

Design Patterns

  • Repository Pattern - Abstracts data access behind interfaces defined in the domain layer.
  • Singleton Pattern - Ensures a single shared instance of in-memory data sources.

Features

  • Songs
  • Albums
  • Authors

Tech Stack

  • Java
  • Gradle (Kotlin DSL)

Exercises

  • Exercise 01 - Get albums list
  • Exercise 02 - Save author in local
  • Exercise 03 - Get authors from API using Retrofit
  • Exercise 04a - Singleton pattern in Songs feature
  • Exercise 04b - Singleton pattern in Authors feature
  • Exercise 05a - SaveSongUseCase
  • Exercise 05b - SaveAuthorUseCase
  • Exercise 06a - DeleteSongUseCase
  • Exercise 06b - DeleteAuthorUseCase
  • Exercise 06c - DeleteAlbumUseCase

About

Spotify-like app built with Clean Architecture (Repository & Singleton patterns) — DAM1 project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages