Skip to content

A Notes App made with material u theming in Kotlin Jetpack Compose with user authentication and Firebase remote DB synchronization.

Notifications You must be signed in to change notification settings

codingsoham/Notes

Repository files navigation

📝 Notes

A beautifully designed Notes app built with Kotlin and Jetpack Compose, meticulously crafted to be an exact UI clone of Google Keep. This project demonstrates modern Android development practices including MVVM architecture, Firebase integration, and Material You dynamic theming.

📱 The app features a responsive UI and includes basic functionality for larger screens, making it suitable for tablets and foldables.

🚀 Features

  • 🔐 Firebase Authentication
    Secure sign-in and user management via Firebase Auth.

  • ☁️ Cloud-Synced Notes
    Save and retrieve your notes from Firebase Realtime Database.

  • 🎨 Custom Note Colors
    Assign custom colors to your notes for better organization.

  • 📌 Pin Notes
    Keep important notes at the top of your list.

  • 🗂️ Archive & Delete Support
    Move notes to the archive or delete them entirely.

  • Material You Dynamic Theming
    Seamless adaptation to user-selected themes and system colors.

  • 🧠 Smart Note Ranking
    Uses an intelligent algorithm to rank notes based on relevance and activity.

  • 🧱 MVVM Architecture
    Clean and maintainable architecture separating concerns effectively.

  • 🖥️ Responsive UI
    Optimized layouts for different screen sizes, including tablets and foldables.

📱 Tech Stack

  • Kotlin
  • Jetpack Compose
  • Firebase Auth
  • Firebase Realtime Database
  • Material 3 (Material You)
  • MVVM Architecture
  • State Management with ViewModel

📁 Project Structure

  • data/ – Local data handling and models.
  • pages/ – UI screens and composables.
  • ui.theme/ – Theming and design system setup.
  • NotesViewModel.kt – Core logic and state management.
  • AuthViewModel.kt – Authentication logic and state management.
  • MainActivity.kt – Application entry point.

🛠️ Setup

  1. Clone the repository:
    git clone https://github.com/your-username/notes.git
    cd notes
  2. Open in Android Studio.
  3. Connect your Firebase project and add the google-services.json file to the app/ directory.
  4. Build and run the app on your device or emulator.

📦 Download APK

You can download the latest APK from the Releases section.

Make sure to allow installations from unknown sources on your device.

📸 Screenshots

Page Screenshot
Get Started Get Started
Sign In / Sign Up / Forgot Pass Auth Screens
Home Page Home Page
Search Page Search Page
Navigation Drawer Drawer
Profile View Profile View
Create / Notes View Create View
Trash Trash
Archive Archive
Selection View Selection View

🤝 Contributions

Contributions are welcome! Feel free to fork the repo and submit a pull request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

UI inspired by Google Keep. This project is built for educational purposes.

About

A Notes App made with material u theming in Kotlin Jetpack Compose with user authentication and Firebase remote DB synchronization.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages