/OlympicGame

Android Application for Paris 2024

Primary LanguageKotlin

Paris 2024

Application for Paris 2024 Olympic Game. Clearn Architecture & MVI.

  • Splashscreen with animated Olympic rings
  • Access to all dates and Olympic Games
  • Top athletes in descending order
  • Access to athlete details: height, weight, date of birth
  • Listing of all medals by type: gold, silver, bronze
  • Internationalized for English, Spanish and French
  • Dark & Light mode

Video

video.mp4

Screen Shots

🛠 Built With

  • Kotlin - First class and official programming language for Android development.
    • Coroutines - A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
    • Flow - A flow is an asynchronous version of a Sequence, a type of collection whose values are lazily produced.
  • Retrofit - A type-safe HTTP client for Android and Java that simplifies the process of consuming RESTful APIs.
  • Moshi - A modern JSON library for Kotlin and Java that makes it easy to parse JSON into Kotlin objects and vice versa.
  • Hilt - Hilt is a dependency injection library for Android that builds on top of Dagger to simplify the implementation of dependency injection in your app.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
  • Compose - Jetpack Compose is Android’s modern toolkit for building native UI.
    • Coil - Image loading library for Compose.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • Material 3 - New design principles and components for creating modern and expressive user interfaces.
  • Lottie - A library that allows you to render animations in your Android app using After Effects animation files.
  • Mockito - A mocking framework for Java that allows you to create and configure mock objects for testing.
  • Espresso - A testing framework for Android that provides a fluent API for writing UI tests. It allows you to interact with and assert the behavior of UI components.

Screen Flow

Architecture Overview

Architecture Data Flow

Entity Relationship