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.
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.
- 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
This app is based on MVVM architecture and follows Clean Architecture principles with the repository pattern
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
SpaceHub uses APIs from Launch Library 2 and Spaceflight News API for collecting the Spaceflights information.
Support it by giving a star ⭐️ and follow me on Github
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