Skip to content

SpaceHub is an open-source app designed to enhance knowledge and accessibility around spaceflights for people worldwide. The source code is available under the GPLv3 license and is built using modern Android development practices such as Kotlin, Jetpack Compose, Hilt, Coroutines and Flows with Material Design 3 guidelines.

License

Notifications You must be signed in to change notification settings

LPirro/SpaceHub

Repository files navigation

SpaceHub - Spaceflight Tracker 🚀

SpaceHub is an open-source app that aims to improve knowledge and accessibility on spaceflights for people around the globe. The source code is open source under the GPLv3 Licence and is built by following modern Android Development like Jetpack Compose, Hilt, Coroutines, Flows and its designed with the new Material Design 3 guidelines.

Disclaimer - Project Under Development 🚧

This project is a work in progress and under development. It may contain uncompleted features, bugs and it may be subject to changes during this stage. The first v1 stable version will be released in the Google Play Store soon.

Tech stack

  • Minimum SDK 24
  • Compose
  • 100% Kotlin
  • Multi-module
  • Bitrise for CI/CD
  • Material Design 3
  • Dark/Light mode support
  • Coroutines + Flow for asynchronous operations
  • HILT for Dependency Injection
  • Architecture
    • MVVM
    • Clean Architecture
    • Repository Pattern
  • Jetpack
    • Navigation: For handling Navigation inside the app
    • LifeCycle: For managing UI related data in a LifeCycle conscious way
    • Room: For creating a Database by providing an abstraction layer over SQLite
  • Retrofit / OkHttp3: For performing network request
  • Robolectric: For Unit Test
  • Mockito: Mocking framework for Unit Test
  • Turbine: Turbine is a small testing library for kotlinx.coroutines Flow.
  • Coil: For network image loading
  • Material Components: For building the UI
  • Spotless: For code-formatting and for keeping the code style consistent across the project

Layer Architecture

This app is based on MVVM architecture and follows Clean Architecture principles with the repository pattern

Architecture Diagram

Design

For designing this app, I used Figma, one of the industry standard design tools for creating UI and UX for mobile and Desktop. You can check the artboard on Figma here

API

SpaceHub uses APIs from Launch Library 2 and Spaceflight News API for collecting the Spaceflights information.

Find this repository useful?

Support it by giving a star ⭐️ and follow me on Github

License

SpaceHub - Designed and Developed by LPirro (Leonardo Pirro)
Copyright (C) 2023 Leonardo Pirro

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

You can read the full licence here

About

SpaceHub is an open-source app designed to enhance knowledge and accessibility around spaceflights for people worldwide. The source code is available under the GPLv3 license and is built using modern Android development practices such as Kotlin, Jetpack Compose, Hilt, Coroutines and Flows with Material Design 3 guidelines.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages