Skip to content

🚕 BL Taxi is a simple app for calling a taxi in the city Banja Luka built using modern Android development tools

License

Notifications You must be signed in to change notification settings

VladimirWrites/BLTaxi

Repository files navigation

Icon

The fastest way to call a taxi in Banja Luka

API


banner

Project characteristics 🚀

This project brings to the table set of best practices, tools, and solutions:

  • 100% Kotlin
  • Modern architecture (Clean Architecture, Multi-Module setup, Model-View-ViewModel)
  • Android Jetpack
  • Single-activity architecture, using the Navigation component
  • CI pipeline (Bitrise)
  • Dependency Injection
  • Material Design (Dark theme)

Built With 🛠

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - Kotlin's way of way of writing asynchronous, non-blocking code
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps
    • LiveData - Data objects that notify views when the underlying data changes
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes
    • DataBinding - Allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically
    • WorkManager - Makes it easy to schedule deferrable, asynchronous tasks that are expected to run even if the app exits or device restarts
    • Hilt - Dependency Injection library for Android that reduces the boilerplate of doing manual dependency injection in your project
    • Room - SQLite object mapping library
  • Material Components for Android - Modular and customizable Material Design UI components for Android
  • Navigation Component - Helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer
  • Retrofit - A type-safe HTTP client for Android and Java
  • Google Analytics - Free app measurement solution that provides insight on app usage and user engagement
  • Firebase Crashlytics - Lightweight, realtime crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality

Tested With 🔬

  • JUnit 4 - Simple framework to write repeatable tests
  • mockito - Most popular Mocking framework for unit tests
  • mockito-kotlin - Provides helper functions to work with Mockito in Kotlin
  • Truth - Makes your test assertions and failure messages more readable
  • Robolectric - Runs tests in a simulated Android environment inside a JVM without the overhead of an emulator

Download

Get it on Google Play

Find this repository useful? ❤️

Support it by joining stargazers for this repository. ⭐
And follow me for my next creations! 🤩

License

 Copyright 2020 Vladimir Jovanović

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.