Skip to content

Suraj-kumar00/Flash-Fathom-AI

Repository files navigation

flashfathom-ai


GitHub Repo stars GitHub Repo forks GitHub License GitHub Repo issues GitHub pull requests Flash-Fathom-AI ReleaseBuild and Push flashfathom-ai Docker Image to DockerHub

About Flash Fathom AI

Flash Fathom AI is an intelligent flashcard learning platform that revolutionizes how you study and retain information. Powered by advanced AI technology, it combines personalized content generation, spaced repetition algorithms, and intuitive study modes to maximize your learning efficiency.

Why Choose Flash Fathom AI?

  • AI-Powered Content Generation: Instantly create flashcards using Gemini API
  • Advanced Spaced Repetition: Scientific learning algorithms that adapt to you
  • Mobile-First Design: Study anywhere with responsive UI and gestures
  • Real-Time Search: Instantly find cards and decks
  • Flexible Subscriptions: Plans for every learner's needs

Get Started🤝 Contribute

Demo

Tutorial to generate flash cards

🛠️ Tech Stack

Frontend

  • Next.js 15
  • TypeScript
  • Tailwind CSS
  • shadcn/ui

Backend & Database

  • Next.js API Routes
  • PostgreSQL (via Supabase)
  • Prisma ORM

Authentication & Payments

  • Clerk v6
  • Razorpay

AI & APIs

  • OpenAI API
  • Gemini API

DevOps & Deployment

  • Docker
  • Vercel
  • GitHub Actions

Project WorkFlow

✨ Features

Core Features

  • Secure authentication (Clerk)
  • AI-based flashcard generation using Gemini API
  • Study modes with spaced repetition
  • Real-time global search

Study Experience

  • Touch gesture support
  • Difficulty tracking
  • Analytics and progress tracking
  • Fully responsive & mobile-friendly
  • Offline study mode

Subscription Management

  • Free, Basic (₹59/₹590), Pro (₹99/₹990), Org (₹159/₹1,590)
  • Monthly/Yearly with 2-month discount
  • Razorpay-secured payments
  • Learning stats & usage analytics

Advanced Features

  • Real-time search with filters
  • Export to PDF or Anki
  • Team/Org collaboration
  • In-depth performance analytics

Quick Start

Prerequisites

  • Node.js 18+
  • pnpm
  • PostgreSQL (or Supabase)
  • Clerk account
  • Razorpay account
  • OpenAI API key

1. Clone & Setup

git clone https://github.com/your-username/Flash-Fathom-AI
cd Flash-Fathom-AI
npm install -g pnpm
pnpm install

2. Add Environment Variables

Create .env.local with the .env.example file we have

3. Setup Database

pnpm prisma generate
pnpm prisma db push

4. Start Development

pnpm run dev
# Visit: http://localhost:3000

🐳 Docker Deployment

Quick Run

docker pull surajkumar00/flashfathom-ai
docker run -it -p 3000:3000 surajkumar00/flashfathom-ai

Custom Build

docker build -t flashfathom-ai .
docker run -it -p 3000:3000 --env-file .env.local flashfathom-ai

API Documentation

Auth

  • GET /api/auth/user – Get current user
  • POST /api/auth/webhook – Handle Clerk webhook

Payments

  • POST /api/razorpay/create-order
  • POST /api/razorpay/verify-payment

Study

  • POST /api/study/start
  • POST /api/study/record
  • POST /api/study/complete

Content

  • GET/POST /api/decks
  • GET/POST/PUT/DELETE /api/flashcards
  • GET /api/search

Issue Reporting

Please include:

  • 🔍 Issue Title
  • 📝 Description
  • 🚶 Steps to Reproduce
  • Expected vs ❌ Actual Behavior
  • 🖥️ Environment Info

Open an issue


🤝 Contributing

We welcome PRs! Read the Contribution Guidlines

Steps:

# Fork & clone
git checkout -b feature/your-feature
# Make changes
git commit -m "feat: add your feature"
git push origin feature/your-feature
# Open a Pull Request

Standards

  • TypeScript
  • ESLint + Prettier
  • Before raising PR locally build should pass all checks
  • Conventional commits
  • Add test coverage

Contributors

Suraj/
Suraj
Shivansh/
Shivansh
Milan
Milan P Samuel
Zaheer
Zaheer khan
Anushka
Anushka Chouhan
Haseeb
Haseeb Zaki
Sachin
Sachin Singh
ALOK
ALOK MISHRA
subhamagarrwal/
subhamagarrwal
t
t rahul prabhu

License

This project is licensed under the MIT License!

Support via giving a ⭐ star

If you like this project, please give it a ⭐ star. Your support means a lot to us!