Raksha is app in which users can see the location of the place or people he/she add so that in case of emergency he/she can reach the nearest place or people and stay there. This app demonstrates use of Modern Android development tools.
It uses ROOM database i.e. Phone storage as its backend. The main aim to use the phone storage is Your data is completely safe in your phone
- Fully functionable.
- Clean and Simple Material UI.
https://docs.google.com/presentation/d/1k2OKHzWCKl8xSXMUHSt3jC18sVlyR2arwK7Yl8QDRnU/edit?usp=sharing
- Splash Screen
- Onboarding Process
- HomeScreen in which users can see all saved SafeHouses
- A map screen which shows all safehouses in a map, which shows users exact location
- A screen to add SafeHouses.
- A map screen to select address of SafeHouse for saving it
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- DataBinding - Binds data directly into XML layouts
- Dependency Injection -
- Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
- Hilt-ViewModel - DI for injecting
ViewModel
.
- Backend - Room Database for Android
- Google Maps - To render google maps in app
- Timber - A simple logging library for android.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
com.baldeagles.raksha # Root Package
.
├── data # For data handling.
│ ├── model # Model data classes
│ └── repository # Single source of data.
|
├── di # Dependency Injection
│ └── module # DI Modules
|
├── ui # UI/View layer
│ ├── viewmodels # All viewmodels
| ├── fragments # All fragments
│ └── adapters # All recyclerView adapters
|
└── utils # Utility Classes / Kotlin extensions
This app uses MVVM (Model View View-Model) architecture.
- Kotlin
- XML
- Android Jetpack
- Android Architecture Components
- Google Maps SDK
- SQLite database using room
- Adobe XD
Team Name: BaldEagles