Skip to content

techbire/AI-Flashcard-Wizard-SAAS

Repository files navigation

πŸ§™β€β™‚οΈ AI Flashcard Wizard - SaaS

Transform any text into intelligent flashcards with AI. Study smarter with our AI-powered flashcard generator.

Next.js React TypeScript Tailwind CSS

🌟 Features

  • AI-Powered Generation: Create flashcards instantly using Google's Generative AI
  • Smart Collections: Organize your flashcards into unlimited collections
  • Firebase Integration: Secure cloud storage for all your study materials
  • Authentication: Secure user authentication with Clerk
  • Payment Integration: Razorpay payment gateway for subscriptions
  • Responsive Design: Beautiful UI that works on all devices
  • Dark Mode: Eye-friendly dark theme support
  • Advanced Analytics: Track your study progress (Pro plan)
  • Export to PDF: Download your flashcards (Pro plan)

πŸ“¦ Tech Stack

πŸš€ Getting Started

Prerequisites

  • Node.js 20.x or higher
  • npm, yarn, or pnpm
  • Firebase account
  • Clerk account
  • Google AI API key
  • Razorpay account (for payments)

Installation

  1. Clone the repository

    git clone https://github.com/techbire/AI-Flashcard-Wizard-SAAS.git
    cd AI-Flashcard-Wizard-SAAS
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Set up environment variables

    Create a .env.local file in the root directory:

    # Clerk Authentication
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
    CLERK_SECRET_KEY=your_clerk_secret_key
    NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
    NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
    
    # Firebase Configuration
    NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
    NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
    NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
    NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
    NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
    NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id
    
    # Google Generative AI
    GOOGLE_API_KEY=your_google_ai_api_key
    
    # Razorpay
    NEXT_PUBLIC_RAZORPAY_KEY_ID=your_razorpay_key_id
    RAZORPAY_KEY_SECRET=your_razorpay_key_secret
  4. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  5. Open your browser

    Navigate to http://localhost:3000

πŸ“ Project Structure

AI-Flashcard-Wizard-SAAS/
β”œβ”€β”€ app/                      # Next.js App Router
β”‚   β”œβ”€β”€ api/                  # API routes
β”‚   β”‚   β”œβ”€β”€ checkout-session-basic/
β”‚   β”‚   β”œβ”€β”€ checkout-session-pro/
β”‚   β”‚   β”œβ”€β”€ generate/         # AI flashcard generation
β”‚   β”‚   └── verify-payment/
β”‚   β”œβ”€β”€ flashcard/            # Single flashcard view
β”‚   β”œβ”€β”€ flashcards/           # Flashcard collection view
β”‚   β”œβ”€β”€ generate/             # Generate flashcards page
β”‚   β”œβ”€β”€ result/               # Payment result page
β”‚   β”œβ”€β”€ sign-in/              # Authentication pages
β”‚   └── sign-up/
β”œβ”€β”€ components/               # React components
β”‚   β”œβ”€β”€ magicui/             # Magic UI components
β”‚   β”œβ”€β”€ sections/            # Landing page sections
β”‚   └── ui/                  # Reusable UI components
β”œβ”€β”€ constants/               # Configuration constants
β”œβ”€β”€ lib/                     # Utility functions
β”‚   β”œβ”€β”€ firebase.js         # Firebase configuration
β”‚   └── firebaseOperations.js
└── public/                  # Static assets

πŸ’³ Pricing Plans

Basic Plan

  • β‚Ή100/month or β‚Ή1000/year (Save 17%)
  • 1,000 flashcards
  • AI-powered generation
  • Basic collections
  • Mobile access

Pro Plan (Popular)

  • β‚Ή500/month or β‚Ή5000/year (Save 17%)
  • 100,000 flashcards
  • AI-powered generation
  • Unlimited collections
  • Mobile & web access
  • Priority support
  • Advanced analytics
  • Export to PDF

πŸ› οΈ Available Scripts

# Development
npm run dev          # Start development server with Turbopack

# Build
npm run build        # Create production build
npm run start        # Start production server

# Code Quality
npm run lint         # Run ESLint
npm run lint:fix     # Fix ESLint issues
npm run format       # Format code with Prettier

🎨 Features Breakdown

AI Generation

  • Powered by Google's Generative AI (Gemini)
  • Intelligent question-answer pair generation
  • Context-aware flashcard creation

User Management

  • Secure authentication with Clerk
  • User profiles and preferences
  • Session management

Storage

  • Firebase Firestore for flashcard storage
  • Real-time synchronization
  • Secure data access rules

Payment Processing

  • Razorpay integration for Indian market
  • Subscription management
  • Payment verification webhooks

πŸ”’ Security

  • Environment variables for sensitive data
  • Clerk authentication for secure user access
  • Firebase security rules
  • Payment verification on server-side

πŸ“± Responsive Design

The application is fully responsive and works seamlessly on:

  • πŸ“± Mobile devices
  • πŸ’» Tablets
  • πŸ–₯️ Desktops

πŸŒ™ Dark Mode

Built-in dark mode support using next-themes for a comfortable studying experience in any lighting condition.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is private and proprietary.

πŸ‘€ Author

techbire

πŸ™ Acknowledgments

  • Next.js team for the amazing framework
  • Vercel for hosting and analytics
  • Clerk for authentication
  • Firebase for database
  • Google for Generative AI
  • Razorpay for payment processing

Made with ❀️ by techbire

About

Transform any text into intelligent flashcards with AI. Study smarter, learn faster, and boost your memory retention.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors