Skip to content

harinandanmv/quicknotes-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickNotes - Voice to Text Notes Android App

QuickNotes is a feature-rich Android application designed to streamline note-taking through seamless multi-modal interaction. Whether you prefer typing or speaking, QuickNotes ensures your ideas are captured instantly and organized efficiently.

🚀 Features

  • Multi-Modal Note Taking: Create notes by either typing or using voice commands with real-time Speech-to-Text conversion.
  • Audio Playback: Listen to your saved notes using the built-in Text-to-Speech (TTS) engine.
  • AI Chat Companion: Integrated Google Gemini AI for smart assistance, note summarization, and query handling.
  • Priority Categorization: Organize your thoughts with color-coded priority levels (Low, Medium, High, Info).
  • Secure Authentication: Personalized user accounts with secure Login and Signup functionality.
  • Intelligent Search: Quickly find specific notes using the dynamic search bar.
  • Modern UI: A clean, responsive design utilizing Material Design components and a Staggered Grid Layout.
  • Offline Persistence: All notes are stored locally using the Room database, ensuring access even without an internet connection.

🛠️ Tech Stack

  • Platform: Android
  • Language: Java
  • AI Engine: Google Gemini API (Generative AI SDK)
  • Database: Room Persistence Library (SQLite)
  • Networking: Retrofit & OkHttp
  • Architecture: MVVM (Model-ViewModel-Repository)
  • UI Components: Material Design 3, RecyclerView (Staggered Layout)
  • Core APIs:
    • SpeechRecognizer for Voice-to-Text
    • TextToSpeech for Text-to-Audio playback

🔑 Configuration

To use the AI features, you need to provide your own Google Gemini API Key:

  1. Create a local.properties file in the root directory (if it doesn't exist).
  2. Add your API key:
    GEMINI_API_KEY=your_api_key_here

🏗️ Architecture Overview

The app follows the MVVM (Model-View-ViewModel) architectural pattern to ensure code maintainability, testability, and scalability:

  • View: Activities (MainActivity, LoginActivity, etc.) handle UI rendering and user interactions.
  • ViewModel: Manages UI-related data and communication with the Repository, surviving configuration changes.
  • Repository: Acts as a mediator between the Room Database and ViewModels.
  • Model: Data entities representing Note, User, and ChatMessage.

📂 Project Structure

app/src/main/java/com/example/text_to_voice_notes/
├── AppDatabase.java        # Room database configuration
├── Note.java               # Note entity
├── NoteDao.java            # Note database operations
├── NoteViewModel.java      # State management for notes
├── MainActivity.java       # Primary notes dashboard
├── ChatActivity.java       # AI Chat interface
├── Login/SignupActivity    # User authentication
└── NoteAdapter.java        # UI logic for the notes list

⚙️ Installation

  1. Clone the repository:
    git clone https://github.com/harinandanmv/quicknotes-app.git
  2. Open in Android Studio:
    • File -> Open -> Select the project directory.
  3. Sync Project with Gradle Files:
    • Wait for dependencies to download and indexing to complete.
  4. Run the App:
    • Connect an Android device or use an emulator.
    • Click the 'Run' (Green Play) button.

📝 Usage

  • Add a Note: Tap the '+' button to type a note or the 'Microphone' button to record one via voice.
  • Categorize: Long-press a note or use the color picker during creation to set priority.
  • Listen: Tap the 'Play' icon on any note to hear it read aloud.
  • Search: Use the search bar at the top to filter notes by keyword.
  • AI Chat: Tap the chat icon to interact with the integrated AI assistant.

Developed by Harinandan MV

About

A multi-modal Android note-taking app featuring real-time speech-to-text conversion, audio playback, priority-based organization, and an AI chat assistant powered by Google Gemini.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages