Modern Android Coffee Shop app built with Jetpack Compose
Explore the docs »
Report Bug
·
Request Feature
Finjan is a modern, responsive Android coffee shop application built with Kotlin and Jetpack Compose. It features a clean MVVM architecture, type-safe navigation, and Firebase integration for authentication.
- Type-Safe Navigation – Compile-time safe routes using Kotlin sealed classes
- Responsive UI – Beautiful, user-friendly interface built with Jetpack Compose
- MVVM Architecture – Clean separation of concerns with ViewModels
- Animated Splash Screen – Smooth Lottie animations
- Firebase Authentication – Secure email/password sign-in and sign-up
- Email/Password sign-in and sign-up
- Password reset via email
- Profile management (display name updates)
- Password change with re-authentication
- Product browsing with image cards
- Category filtering
- Search functionality
- Dynamic QR code generation for loyalty points
- User profile with photo support (via Coil)
- Order history view
- Payment method management
- Notification preferences
- Edit profile and change password screens
- Dynamic offers display
- Loyalty points system (in SharedViewModel)
- Language: Kotlin
- UI: Jetpack Compose, Material3
- Navigation: Compose Navigation with type-safe routes
- Authentication: Firebase Authentication
- Image Loading: Coil
- Animations: Lottie Compose
- Architecture: MVVM with ViewModels
APK Hashes:
SHA-1: e3e38991a470b6ca06e94a0b6b13091d6e8c6531
SHA-256: 144d9c50416eae8a792e385639d82aedc9ed14494e3397cdc7d5fa17cc819785
SHA-512: 8b097e8f6984f1993339a205b34d4009f6a11620ac3ff9c790974eea5f307ee63c1f826d735aeffed50d1c21beb350ce8d380d70b549d891660d81fc12c76ba3
Project's Link: https://github.com/ahmeddwalid/Finjan
Any contributions you make are greatly appreciated.
- Google Sign-In – OAuth integration with Credential Manager API
- Firebase Firestore – Cloud storage for menu items and user data
- Cart & Checkout – Full ordering flow
- Push Notifications – Order updates and promotions
If you'd like to contribute, please follow these steps:
- Fork the repository: Create your own copy of the project.
- Create a branch:
git checkout -b feature/your-feature-name - Implement your contribution
- Commit your changes:
git commit -m "your descriptive commit message" - Push to the branch:
git push origin feature/your-feature-name - Create a pull request: Submit your changes for review.
- Please ensure your code follows MVVM design pattern.
- Write clear and concise commit messages.
- Provide detailed explanations in your pull requests.
- Be respectful and considerate of other contributors.
Thank you for your contributions!
This project is distributed under the Apache 2.0 license. See
LICENSE.txt for more information.
