This documentation contains a set of guidelines to help you during the contribution process for Flash Fathom AI — an intelligent flashcard learning platform with AI-powered content generation and spaced repetition study modes.
We welcome all contributions from anyone willing to improve this project!
Please read and follow our Code of Conduct.
Here are some helpful resources:
- Forking a Repository
- Cloning a Repository
- How to Create a Pull Request
- Getting Started with Git and GitHub
- Learn GitHub from Scratch
- Frontend: Next.js 15, TypeScript, Tailwind CSS
- UI Components: shadcn/ui
- Authentication: Clerk v6
- Database: PostgreSQL + Prisma ORM
- Payments: Razorpay
- AI: Gemini API
- Deployment: Vercel
FLASH-FATHOM-AI/
├── .github/ # GitHub workflows and templates
├── public/ # Static assets and images
├── prisma/ # Prisma DB schema and migrations
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── api/ # API routes
│ │ ├── flashcards/ # Flashcard pages
│ │ ├── pricing/ # Pricing pages
│ │ └── result/ # Payment result page
│ ├── components/ # UI components
│ │ ├── ui/ # shadcn/ui components
│ │ ├── flashcards/ # Flashcard UI
│ │ ├── study/ # Study UI
│ │ └── search/ # Search UI
│ ├── lib/ # Business logic, hooks
│ └── utils/ # Utility functions
├── .env.example # Env variables sample
├── Dockerfile # Docker build file
├── docker-compose.yml # Docker Compose setup
├── README.md # Main documentation
- Node.js 18+
pnpm- PostgreSQL (or Supabase)
- Fork & Clone
git clone https://github.com/your-username/Flash-Fathom-AI.git
cd Flash-Fathom-AI- Install pnpm (if not installed)
npm install -g pnpm- Install Dependencies
pnpm install- Configure Environment
cp .env.example .env.localUpdate .env.local the .env.example file we have
- Database Setup
pnpm prisma db push
pnpm prisma generate- Run the Dev Server
pnpm run devOpen: http://localhost:3000
docker pull surajkumar00/flashfathom-ai
docker run -p 3000:3000 surajkumar00/flashfathom-aidocker-compose up --build- ⭐ Star the repo
- 🍴 Fork it
- Clone your fork:
git clone https://github.com/your-username/Flash-Fathom-AI.git
cd Flash-Fathom-AI- Create a new branch:
git checkout -b feature/your-feature- Make your changes
- Commit and push:
git add .
git commit -m "feat: your meaningful commit"
git push origin feature/your-feature- Open a Pull Request
To self-assign, comment:
.take
- Browse open issues
- Comment
.take - Wait for assignment confirmation
- Avoid
anytype - Use React functional components and hooks
- Use naming conventions:
camelCase,PascalCase - Write meaningful comments for non-trivial logic
- Use Prisma ORM only
- Handle DB errors properly
- Follow service structure patterns
- Lint: ESLint
- Format: Prettier
- Commits: Conventional Commits (e.g.,
feat:,fix:)
- Self-reviewed
- Tests added
- Docs updated
- No breaking changes (or documented)
- Screenshots for UI changes
Use the PR template provided in the repo.
To report a bug:
- Go to Issues tab
- Click "New Issue"
- Choose a template
- Add:
- Steps to reproduce
- Expected vs actual result
- Screenshots
- OS/browser info
- Maintainer: Suraj
- Email: suraj.kumar.p@gmail.com
- GitHub: @Suraj-kumar00
Your contributions make Flash Fathom AI better.
Whether it's a bug fix, feature, or doc update — you're appreciated.
Happy Coding! 💙