Skip to content

kunalsmh/zeps

Repository files navigation

Zeps Screenshot

Zeps is an app for Indian high schoolers, giving you everything you need to ace your classes. It also helps you build a strong college-ready profile and shows which universities you’re most likely to get into based on your profile.

Self building

  1. Clone the repository:
git clone <repository-url>
cd app
  1. Install CocoaPods dependencies:
pod install
  1. Open the workspace (not the project):
open app.xcworkspace

Configuration

Supabase Configuration

The app uses Supabase as the backend. To configure your API keys:

Option 1: Environment Variables (Recommended for CI/CD)

export SUPABASE_URL="your_supabase_url"
export SUPABASE_ANON_KEY="your_supabase_anon_key"

Option 2: Local Config File (Recommended for Development)

  1. Copy the template file:
cp app/Managers/SupabaseConfig.local.swift.example app/Managers/SupabaseConfig.local.swift
  1. Edit app/Managers/SupabaseConfig.local.swift and add your Supabase credentials.

Note: SupabaseConfig.local.swift is gitignored and will not be committed to the repository.

Google Sign-In Configuration

  1. Create a project in Google Cloud Console
  2. Enable Google Sign-In API
  3. Create OAuth 2.0 credentials
  4. Add your bundle identifier
  5. Download GoogleService-Info.plist and add it to your project
  6. Important: GoogleService-Info.plist should be gitignored (already included in .gitignore)

Database Setup

Run the SQL schema file to set up your Supabase database:

# In Supabase SQL Editor, run:
supabase_schema.sql

This will create:

  • subjects table
  • users table
  • Row Level Security policies
  • RPC functions

Project Structure

app/
├── app/                    # Main app source code
│   ├── Managers/          # Business logic managers
│   ├── Models/            # Data models
│   ├── Views/             # SwiftUI views
│   └── Widget/            # Widget extensions
├── supabase_schema.sql    # Database schema
└── Podfile                # CocoaPods dependencies

Security

  • API keys are stored in environment variables or local config files (gitignored)
  • Never commit sensitive credentials to the repository
  • The .gitignore file excludes:
    • SupabaseConfig.local.swift
    • GoogleService-Info.plist
    • User-specific Xcode files
    • Build artifacts

About

all in one last day exam prep app for high schoolers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published