Eatelicious is an Android application, constructed using Kotlin, as a component of an extensive course on Android data persistence. The app incorporates a straightforward authentication mechanism via Firebase, enabling user registration, login, and logout functionalities. Additionally, it functions as a recipe storage platform, employing shared preferences for personalized user features and managing a local SQLite database.
- Duration: 27 hours 52 minutes 58 seconds
- Prerequisites: None
- Expertise Level: Intermediate
- Code: IT_MDDPCIDJ_03_ENUS
- Understand key concepts of Android data storage
- Learn to choose appropriate storage methods for different scenarios
- Create an HTTP endpoint with app-specific storage
- Implement shared preferences for key-value data storage
- Utilize shared preferences for tracking recent items and autofilling forms
- Use SQLite for structured data storage
- Integrate SQLite with Android apps
- Implement a toggle switch in an Android app
- Set up CRUD operations in a restaurant app
- Configure Kotlin Symbol Processing (KSP) plugin and Room API libraries
- Utilize Room API to load data from SQLite
- Summarize key course concepts
Janani Ravi, Co-founder of Loonycorn
- User Authentication: The application uses Firebase Authentication for user sign up and login.
- MVVM Architecture: The application follows the Model-View-ViewModel (MVVM) design pattern.
- Dependency Injection: The application uses Hilt for dependency injection.
- Kotlin: The primary programming language used for development.
- Firebase: Used for user authentication.
- Hilt: A dependency injection library for Android, used to inject dependencies into different parts of the app.
- Jetpack Compose: The modern way to build native Android UI. It simplifies and accelerates UI development on Android.
The project is divided into several packages:
auth
: Contains classes related to authentication, including theAuthViewModel
,AuthRepository
, andAuthRepositoryImpl
.ui
: Contains classes related to the user interface, including theLoginScreen
.utils
: Contains utility classes.
To get started with the Eatelicious project:
- Clone this repository.
- Open the project in your Android development environment.
- Set up Firebase in the Firebase console and download the
google-services.json
file into theapp
directory. - Build and run the project on an emulator or real device.
- Follow the course modules to implement each feature step-by-step.
Feel free to fork this repository and submit pull requests with improvements or fixes.
Enjoy your programming journey and have fun learning Android data persistence!