Skip to content

akhil683/Etrant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“š Etrant

Etrant App

Scroll. Learn. Test. Repeat.

An Instagram-like knowledge platform for students, aspirants, and curious minds

Next.js React TypeScript PostgreSQL

๐Ÿš€ Live Demo โ€ข ๐Ÿ› Report Bug โ€ข ๐Ÿ’ก Request Feature


๐ŸŽฏ What is Etrant?

Etrant transforms the way students learn by combining the addictive swipe experience of Instagram with educational content. Get bite-sized Wikipedia summaries, exam-focused quizzes, and daily current affairs delivered through an intuitive reel-based interface.

โœจ Why Etrant?

  • ๐Ÿ“ฑ Mobile-First Learning: Learn on-the-go with a familiar social media interface
  • ๐ŸŽฏ Exam-Focused: Tailored content for JEE, NEET, UPSC, and other competitive exams
  • ๐Ÿค– AI-Powered: Smart content curation, personalized learning paths, and file analysis
  • ๐Ÿ“Š Progress Tracking: Visual knowledge maps and gamified learning experience
  • ๏ฟฝ Social Learning: Join study groups and chat with peers in real-time
  • ๏ฟฝ๐Ÿ“ฐ Stay Updated: Daily UPSC-friendly current affairs digest

๐ŸŒŸ Key Features

๐Ÿ“– Knowledge Reels

Swipe through AI-curated Etrant summaries designed for quick comprehension and retention.

๐Ÿ‘ฅ Study Groups & Chat

  • Join exam-focused study groups (JEE, NEET, UPSC, etc.)
  • Real-time chat with peers powered by Pusher
  • Share resources and discuss topics
  • Track group activity and member status

๐Ÿ“„ AI File Analyzer

  • Upload your notes or textbooks (PDF, DOC, TXT)
  • Get AI-powered analysis and summaries
  • Generate custom MCQ quizzes from your documents
  • Track performance on document-specific tests

๐Ÿง  Smart Quiz Engine & AI Questions

  • Select your target exam (JEE, NEET, UPSC, CAT, etc.)
  • Get personalized MCQ reels based on your syllabus
  • AI-generated practice questions tailored to your interests
  • Track performance with detailed analytics

๐Ÿ“ฐ Daily Current Affairs

  • Automated pipeline delivers fresh content daily at midnight IST
  • Top 20 Indian news articles filtered for UPSC relevance
  • AI-generated visuals for enhanced engagement

๐Ÿฆ Subscription System

  • Monthly subscription plans for premium access
  • Razorpay payment gateway integration
  • Unlock advanced reels, analytics, and features
  • Secure, fast, and seamless checkout experience
  • Automatic payment verification and subscription activation

๐Ÿ† Gamification System

  • XP points and daily streaks
  • Competitive leaderboards
  • Achievement badges for topic mastery
  • Social learning features

๐Ÿ“š Multi-Source Content

  • Wikipedia article summaries
  • Research paper insights
  • Educational YouTube transcript analysis
  • Curated blog content

๐Ÿ› ๏ธ Technology Stack

Frontend

  • Next.js 15 (App Router)
  • React 19
  • TypeScript
  • TailwindCSS
  • Shadcn UI
  • Framer Motion
  • Posthog
  • Zustand

Backend

  • Next.js Server Actions
  • Vercel Cron Jobs
  • Drizzle ORM
  • PostgreSQL (Neon)
  • NextAuth.js
  • Pusher (Real-time)

AI & APIs

  • Google Gemini
  • OpenAI (DALLยทE)

๐Ÿ—๏ธ System Architecture

flowchart TD
    A[News API<br/>Wikipedia<br/>YouTube] -->|Fetch Data| B[AI Processing Layer]
    B -->|Content Analysis| C[Gemini/GPT-4]
    C -->|Generate Summary| D[Content Validation]
    D -->|Create Reel| E[DALLยทE Image Gen]
    E -->|Store Content| F[(PostgreSQL<br/>via Drizzle ORM)]
    F -->|Serve Content| G[Next.js API Routes]
    G -->|Render UI| H[React Reel Interface]
    H -->|User Interaction| I[Progress Tracking]
    
    U[User] -->|Upload File| FA[File Analyzer]
    FA -->|Process| C
    
    U -->|Join Group| SG[Study Groups]
    SG -->|Real-time Chat| P[Pusher]
    P -->|Broadcast| SG

    I[Vercel Cron] -->|Daily Trigger| L[UPSC Digest Pipeline]
    J -->|Process News| B
Loading

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm
  • PostgreSQL database (or Neon account)
  • Pusher account

Installation

  1. Clone and Install

    git clone https://github.com/akhil683/wiki-reel.git
    cd wiki-reel
    pnpm install
  2. Environment Setup

    cp .env.example .env.local

    Fill in your environment variables:

    # Database
    DATABASE_URL="your_postgresql_connection_string"
    
    # Authentication
    NEXTAUTH_SECRET="your_nextauth_secret"
    NEXTAUTH_URL="http://localhost:3000"
    GOOGLE_CLIENT_ID="your_google_client_id"
    GOOGLE_CLIENT_SECRET="your_google_client_secret"
    
    # AI Services
    GEMINI_API_KEY="your_gemini_api_key"
    
    # Real-time (Pusher)
    PUSHER_APP_ID="your_pusher_app_id"
    PUSHER_KEY="your_pusher_key"
    PUSHER_SECRET="your_pusher_secret"
    PUSHER_CLUSTER="your_pusher_cluster"
    
    # Email Variables
    SMTP_HOST="smtp_host"
    SMTP_PORT="port"
    SMTP_USER="Your_email"
    SMTP_PASS="smtp_password"
    
    # Analytics
    NEXT_PUBLIC_POSTHOG_KEY="your_posthog_key"
    NEXT_PUBLIC_POSTHOG_HOST="posthog_host"
  3. Database Setup

    pnpm drizzle-kit generate
    pnpm drizzle-kit push
  4. Start Development Server

    pnpm dev

Visit http://localhost:3000 to see Etrant in action! ๐ŸŽ‰


๐Ÿ“… Daily UPSC Digest Pipeline

Our automated content pipeline ensures fresh, relevant content daily:

sequenceDiagram
    participant C as Vercel Cron
    participant A as API Route
    participant N as News API
    participant AI as AI Processing
    participant D as Database
    participant U as Users

    C->>A: Trigger at 00:30 IST
    A->>N: Fetch top 20 Indian news
    N-->>A: Return articles
    A->>AI: Filter for UPSC relevance
    AI-->>A: Ranked relevant articles
    A->>AI: Generate summaries (80-120 words)
    AI-->>A: Exam-friendly content
    A->>AI: Generate images (DALLยทE)
    AI-->>A: Visual content
    A->>D: Store reels with metadata
    D-->>U: Fresh content available
Loading

Cron Configuration (vercel.json):

{
  "crons": [
    {
      "path": "/api/cron/daily-digest",
      "schedule": "30 18 * * *"
    }
  ]
}

๐Ÿ“Š Project Structure

wiki-reel/
โ”œโ”€โ”€ ๐Ÿ“ app/                   # Next.js App Router
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ auth/              # Authentication pages
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ api/               # API routes & cron jobs
โ”‚   โ””โ”€โ”€ ๐Ÿ“ (protected)/       # Main app interface
โ”‚       โ”œโ”€โ”€ ๐Ÿ“ groups/        # Study groups & chat
โ”‚       โ”œโ”€โ”€ ๐Ÿ“ file-analyzer/ # AI document analysis
โ”‚       โ””โ”€โ”€ ๐Ÿ“ ai-questions/  # AI practice questions
โ”œโ”€โ”€ ๐Ÿ“ components/            # Reusable UI components
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ ui/                # Shadcn UI components
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ reels/             # Reel-specific components
โ”‚   โ””โ”€โ”€ ๐Ÿ“ maps/              # Knowledge map components
โ”œโ”€โ”€ ๐Ÿ“ lib/                   # Utilities & configurations
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ db/                # Database schema & queries
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ prompts/           # AI service integrations prompts
โ”‚   โ””โ”€โ”€ ๐Ÿ“ email/             # send email functions
โ”œโ”€โ”€ ๐Ÿ“ public/                # Static assets
โ””โ”€โ”€ ๐Ÿ“ types/                 # TypeScript definitions

๐ŸŽฏ Roadmap

๐Ÿšง In Progress

  • AI Flashcards: Spaced repetition system for better retention
  • Advanced Analytics: Detailed performance insights and recommendations
  • Mobile App: Native mobile application (React Native)

๐Ÿ”ฎ Future Features

  • Video Summaries: AI-generated short explainer videos
  • Audio Mode: Podcast-style learning for commuters
  • AI Mentor: Interactive Q&A for deeper understanding
  • Offline Mode: Download reels for offline access
  • Micro-Certifications: Shareable achievement certificates
  • Multi-language Support: Content in regional languages

๐ŸŒŸ Long-term Vision

  • AR Knowledge Maps: Immersive 3D topic visualization
  • Collaborative Notes: Community-driven content creation
  • Live Study Sessions: Real-time group learning experiences

๐Ÿค Contributing

We welcome contributions from the community! Here's how you can help:

๐Ÿ› Found a Bug?

  1. Check existing issues
  2. Create a detailed bug report with steps to reproduce

๐Ÿ’ก Have a Feature Idea?

  1. Open a feature request
  2. Describe the problem it solves and potential implementation

๐Ÿ”ง Ready to Code?

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Commit with conventional commits: git commit -m 'feat: add amazing feature'
  5. Push to your branch: git push origin feature/amazing-feature
  6. Open a Pull Request

๐Ÿ“ Areas We Need Help With

  • ๐ŸŽจ UI/UX improvements
  • ๐Ÿค– AI prompt optimization
  • ๐Ÿ“Š New exam category content
  • ๐ŸŒ Internationalization
  • ๐Ÿ“ฑ Mobile app development
  • ๐Ÿ” SEO optimization

๐Ÿ™ Acknowledgments

  • ๐Ÿ“š Wikipedia - For making knowledge freely available
  • ๐Ÿค– OpenAI - For powerful AI capabilities
  • ๐ŸŽจ Unsplash - For beautiful stock imagery
  • ๐ŸŒŸ Open Source Community - For inspiration and tools

About

AI-powered microlearning for exams. Wikipedia, news & questions in reels. (Building...)

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published