Skip to content

gowthamrdyy/GVM

Repository files navigation

GVM Virtual Mentor Android App

A sophisticated Android application that provides personalized learning experiences through AI-powered document analysis and roadmap generation.

Features

🎯 Core Functionality

  • PDF Upload & Analysis: Upload PDF documents for instant AI-powered semantic analysis
  • Roadmap Generation: Create personalized learning roadmaps from text input
  • Quiz Generation: Automatically generate quizzes based on analyzed content
  • Performance Tracking: Detailed performance reports and progress tracking

🎨 Design & UI

  • Dark Mode Interface: Sophisticated black and navy blue base with gold and deep red accents
  • Material Design 3: Modern UI components with fluid animations
  • Single-Screen Experience: Intuitive workflow in a unified interface
  • Responsive Design: Optimized for various screen sizes

🔧 Technical Stack

  • Native Android: Java-based development
  • Firebase Integration: Cloud Storage and Firestore for data persistence
  • Gemini AI: Advanced semantic analysis and content generation
  • Material Design Components: Modern UI framework
  • PDF Processing: iText7 for PDF text extraction

Setup Instructions

Prerequisites

  1. Android Studio Arctic Fox or later
  2. Android SDK 24+ (Android 7.0)
  3. Firebase project with Storage and Firestore enabled
  4. Google Gemini API key

Configuration

1. Firebase Setup (Optional for Testing)

🚨 Firebase is currently disabled to allow building without configuration.

For immediate testing: The app will work with mock Firebase services.

For full functionality: See FIREBASE_SETUP.md for complete Firebase configuration:

  1. Create Firebase project and download google-services.json
  2. Enable Firestore and Storage
  3. Uncomment Firebase dependencies in build.gradle

2. Gemini API Setup

  1. Get your Gemini API key from Google AI Studio
  2. Replace YOUR_GEMINI_API_KEY in GeminiService.java with your actual API key
  3. Enable the Generative Language API in Google Cloud Console

3. Build and Run

# Clone the repository
git clone <repository-url>
cd gvm-virtual-mentor

# Open in Android Studio
# Build and run the project

Project Structure

app/
├── src/main/java/com/gvm/virtualmentor/
│   ├── MainActivity.java                 # Main activity with tab navigation
│   ├── adapters/
│   │   └── QuizAdapter.java             # RecyclerView adapter for quiz questions
│   ├── fragments/
│   │   ├── PdfUploadFragment.java       # PDF upload and analysis
│   │   └── RoadmapTextFragment.java     # Text input for roadmap generation
│   ├── models/
│   │   └── QuizQuestion.java            # Quiz question data model
│   ├── services/
│   │   ├── FirebaseService.java         # Firebase operations
│   │   └── GeminiService.java           # Gemini AI integration
│   └── utils/
│       └── PdfUtils.java                # PDF processing utilities
├── src/main/res/
│   ├── layout/                          # XML layouts
│   ├── values/                          # Colors, themes, strings
│   └── drawable/                        # Vector icons and backgrounds
└── build.gradle                         # App-level dependencies

Key Components

MainActivity

  • Manages the main UI with TabLayout and ViewPager2
  • Coordinates between fragments and services
  • Handles quiz submission and performance reporting

Firebase Service

  • Handles file uploads to Firebase Storage
  • Manages data persistence in Cloud Firestore
  • Provides callbacks for async operations

Gemini Service

  • Integrates with Google's Gemini AI API
  • Performs semantic analysis of PDF content
  • Generates personalized learning roadmaps
  • Creates quiz questions from analyzed content

PDF Processing

  • Extracts text from uploaded PDF files
  • Limits processing to first 10 pages for performance
  • Handles various PDF formats and encodings

UI/UX Features

Color Scheme

  • Primary: Black (#000000) and Navy Blue (#1A237E)
  • Accents: Gold (#FFD700) and Deep Red (#B71C1C)
  • Surfaces: Dark grays for cards and components
  • Text: White primary with gray secondary text

Animations

  • Smooth card appearance animations
  • Button state transitions
  • Loading overlays with progress indicators
  • Tab switching animations

Responsive Design

  • Adaptive layouts for different screen sizes
  • Material Design elevation and shadows
  • Consistent spacing and typography

Security & Best Practices

  • Secure API key management (replace placeholder with actual key)
  • Input validation and sanitization
  • Error handling with user-friendly messages
  • Offline capability considerations
  • Performance optimization for large files

Future Enhancements

  • Offline mode support
  • User authentication and profiles
  • Advanced analytics and insights
  • Social sharing features
  • Multi-language support
  • Voice input for roadmap creation
  • Advanced quiz types (drag-drop, matching)

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

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

Support

For support and questions, please open an issue in the repository or contact the development team.

About

A sophisticated Android application that provides personalized learning experiences through AI-powered document analysis and roadmap generation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors