SpaceDawn
Space Dawn is a demo app built to demonstrate the use of Mutli-Module Clean MVVM Architecture with Jetpack Compose by following Material-3 guidelines along with other MAD libraries such as Dagger-Hilt, Room Database, Coroutines, Navigation, WorkManager etc. for building Android Apps
Install / Use
/learn @avidraghav/SpaceDawnREADME
Space Dawn is a demo app built to demonstrate the use of Mutli-Module Clean MVVM Architecture with Jetpack Compose by following Material-3 guidelines along with other MAD libraries. The app lets a user Save reminders/alarms for the upcoming Rocket Launches From around the world. <br>
You can download the app from Playstore or download the apk from 🚀
🛠 Built With
| Architecture | Multi-Module Clean MVVM Architecture | |---------------- |------------------------------ | | <img height="20" src="https://3.bp.blogspot.com/-VVp3WvJvl84/X0Vu6EjYqDI/AAAAAAAAPjU/ZOMKiUlgfg8ok8DY8Hc-ocOvGdB0z86AgCLcBGAsYHQ/s1600/jetpack%2Bcompose%2Bicon_RGB.png"> UI Framework | Jetpack Compose | | | 💉 DI | Dagger-Hilt | | | 🌐 Networking | Retrofit + Moshi | | :floppy_disk: Local Database | Room Database | | :compass: Navigation | Compose Destinations Navigation | | :building_construction: Persistent Background Work | WorkManager + AlarmManager | | :thread: Asynchronous Work | Coroutines| | 🖼️ Image Loading | Coil| <br>
:movie_camera: Working Demo
<table style="width:100%"> <tr> <th> <video src="https://github.com/avidraghav/SpaceDawn/assets/49483235/4e320b7d-d66d-4e42-8c94-705057fb8939" /></th> <th><p>The reminder in the demo fires right away and this is purposeful as to demonstrante the functionality.</p></th> </tr> </table> <br>:iphone: Screenshots (Dark and Light Theme)
<table style="width:100%"> <tr> <th>Upcoming Launches Screen</th> <th>Reminders Screen</th> <th>Notification Sample</th> </tr> <tr> <td><img src = "art/upcoming_launches_a10.png" width=240/></td> <td><img src = "art/reminders_a10.png" width=240/></td> <td><img src = "https://github.com/avidraghav/SpaceDawn/assets/49483235/a710b182-8a5b-4424-8ae4-b49fdeb2ba87" width=240/></td> </tr> <tr> <th>Upcoming Launches Screen</th> <th>Reminders Screen</th> <th>Notification Sample</th> </tr> <tr> <td><img src = "art/upcoming_launches_a10_light.png" width=240/></td> <td><img src = "art/reminders_a10_light.png" width=240/></td> <td><img src = "art/notification_sample_a10_light.png" width=240/></td> </tr> </table> <br>🏗️ Architecture Diagram
<div align="center"> <img src="https://github.com/avidraghav/SpaceDawn/assets/49483235/f030124e-e329-4ecd-b30a-e06271cef7ae" width="600" height="800"> </div> <br>✔️ Tests
Tests are continuosly being written. Check the test and androidTest source sets for already available test cases.
🚀 The app uses Launch Library 2 API for getting upcoming Rocket Launches.
License
Copyright 2023 Raghav Aggarwal
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.
