Skip to content

fendylo/study-snap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“˜ StudySnap: Smart Study Companion

GitHub: https://github.com/fendylo/study-snap

Please contact the developers to get the environment variables and API Keys

The App requires the environment variables to run

StudySnap is an iOS native app built with SwiftUI that empowers students to capture notes, query them with AI, auto-generate quizzes, and track progress on a beautiful dashboard. Backed by Firebase (Auth + Firestore) and Groq API for AI, it follows a clean MVVM architecture for maintainability and scalability.


🎨 UI Preview

Home (Notes List) Note Taking
Quiz Taking Dashboard

πŸ” Features

  • Note Management: Create, edit, and organise text & image notes.
  • AI Assistant: Ask questions about your notes; answers powered by Groq LLM.
  • Quiz Generation: Auto-create multiple-choice quizzes from your note content.
  • Performance Dashboard: Visualise quiz scores, track progress by topic, and get AI feedback.
  • Secure Auth: Firebase Authentication & Firestore for data sync.
  • Image Uploads: Cloudinary integration for fast, reliable media storage.

πŸ“ Project Structure

Folder / File Purpose
Models/ Data structures (User, Note, Quiz, etc.)
Services/ API & backend layers (FirebaseService, CloudinaryService, AIService)
Utilities/ Helpers (UserDefaultsUtil, NavigationUtil, constants)
ViewModels/ MVVM state & logic (AuthViewModel, NoteViewModel, DashboardViewModel, QuizViewModel)
Views/ SwiftUI screens & components (LoginView, NoteListView, NoteDetailsView, DashboardView)
StudySnapApp.swift App entry point (@main), injects environment objects
GoogleService-Info.plist Firebase config
.env Environment variables (API keys, Cloudinary presets)

🧰 Tech Stack

  • Language: Swift 5.x
  • UI: SwiftUI
  • Backend: Firebase Auth & Firestore
  • Storage: Cloudinary
  • AI: Groq API

πŸš€ Getting Started

  1. Clone the repo.
  2. Add GoogleService-Info.plist (Firebase).
  3. Product > Scheme > Edit Scheme > Add Environment Variables
  4. Build & run on Simulator or device.

Environment Variables

GROQ_API_KEY=XXX

CLOUDINARY_CLOUD_NAME=XXXX

CLOUDINARY_UPLOAD_PRESET=XXXX

GROQ_MODEL_NAME=XXXX


πŸ‘₯ Team

  • Fendy Lomanjaya
  • Mohammad Hasin Bin Sadique
  • Arbaz Rahimbhai Malek

Crafted with clean architecture and modern UI/UX for focused, AI-powered studying.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages