RadoslawCzubak / ParkHereApp

Simple app just to show how I build Android applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ParkHereApp 🚘

A simple Android app with Google Maps API v2. Made while learning Google Maps API. While doing this project I have learned Google Maps API, initializing map in fragments, camera operations, marking locations and so on. I have trained using GPS and determining the location of user. After 2 years I have practiced refactoring to MVVM + Clean Architecture. That was quite fun! Because I used best MVVM practices in first attempt to create this app, it was not so hard to do so :)

Installation

πŸ“ App's features

  • GPS Location
  • Marks your park location
  • Navigate you to your park location with Google Maps

As you see - it's really basic app! πŸ˜‰

πŸ›  Technology stack

Kotlin Language - modern language for JVM recommended by Google for Android Development

Google Maps API - most popular maps for Android

Koin - lightweight dependency injection framework

Kotlin Coroutines - asynchronous programming library for Kotlin

Timber - Jake Wharton's logging library

Room Persistence Library - Abstraction layer for SQLite Database

Jetpack Navigation Component - helps with navigation between fragments (maybe a overkill for this app at the moment)

Architecture

            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚    Fragment     β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
Presentation           β”‚
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
            β”‚    ViewModel    β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
   ────────            β”‚
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
   Domain   β”‚     UseCase     β”‚   UseCases + Pure-Kotlin models
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜         + Repository interfaces
   ────────            β”‚
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
            β”‚     Data        β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜   Repository implementations
   Data                β”‚
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
            β”‚     Room DB     β”‚    RoomDAO + RoomDatabase + Entities
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Screenshots

About

Simple app just to show how I build Android applications


Languages

Language:Kotlin 100.0%