/go-run

Welcome to my main project portfolio repository! This project showcases my skills and coding standards through a 6-screen running tracker app. The application is built with a strong focus on fundamental architectural best practices and a multi-module setup.

Primary LanguageKotlin

GoRun Application

GoRun is an application designed to help users track their runs, set goals, and achieve them through our app. The application is built using Kotlin, and it uses advanced archtecture.

What you'll see:

  • Project Planning & Architecture Fundamentals: Insight into planning and structuring large-scale projects.
  • Gradle, Build-logic, Version Catalogs, Convention Plugins: Techniques for efficient project configuration and dependency management.
  • Reactive Programming with Coroutines & Flows: Advanced asynchronous programming patterns using Kotlin coroutines and flows.
  • Jetpack Compose in Large-scale Projects: Implementation of Jetpack Compose for modern, efficient UI development.
  • Remote APIs, Local Databases & Caching Strategies: Strategies for managing data from remote APIs and local storage.
  • Dynamic Feature Modules: Modularization techniques for scalable and maintainable codebases.
  • Location Tracking with the Google Maps SDK: Integration of Google Maps for precise location tracking.

Feel free to explore the code, and don't hesitate to reach out if you have any questions or feedback!

Project Structure

The project is structured into several modules:

  • core: This module contains the design system and shared components used across the application.
  • auth: This module handles the authentication part of the application, including sign in and sign up.

Design System

Koin

  • Koin is a dependency injection framework for Kotlin. It is used to manage dependencies in the application.

textfieldState

  • TextFieldState is a class that represents the state of a text field. It contains the text value, error message, and whether the field is enabled or not.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Android Studio Hedgehog | 2023.1.1 Patch 1 or later
  • JDK 8 or later

Installing

  1. Clone the repository
  2. Open the project in Android Studio
  3. Build and run the project on an emulator or actual device

Running the tests

Explain how to run the automated tests for this system.

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning.

Authors

  • velosobr - Initial work

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Hat tip to anyone whose code was used
  • Inspiration
  • etc