Ahmad Tawil

JavaScript ยท Shipped

Study Buddy

A peer-to-peer homework help platform where students request and provide explanations, with AI-assisted moderation.

Repositoryโ˜… 2
JavaScript

StudyBuddy is a full-stack academic support platform that empowers students to ask for and offer academic help in a collaborative, AI-assisted, and reputation-driven environment.

Built with Next.js 14, Tailwind CSS, Firebase, and OpenAI, the app features a modular and scalable architecture, real-time data flow, and smart AI-powered assistance to improve the quality of academic support.


๐Ÿš€ Live Demo #

๐Ÿ”— Hosted on Vercel


๐Ÿ› ๏ธ Tech Stack #

CategoryTechnology
FrontendNext.js 14 (App Router)
StylingTailwind CSS
AuthenticationFirebase Auth (Google, Email)
DatabaseFirebase Firestore (NoSQL)
HostingVercel / Firebase Hosting
State ManagementReact Context API
AI IntegrationOpenAI API (GPT-3.5)
Version ControlGit + GitHub

โœจ Core Features #

For Help Seekers #

  • Post questions anonymously or with profile
  • Attach files (images, code, documents)
  • AI-powered clarity enhancement & summarization
  • Choose public/private visibility
  • Rate answers and bookmark helpful responses

For Helpers #

  • Filter and browse open requests by topic or urgency
  • Submit answers in text (voice/video planned)
  • Receive feedback and AI rephrase suggestions
  • Earn badges, reputation, and profile highlights

General Features #

  • Firebase-secured Auth & Firestore integration
  • AI modules for rephrasing, summarizing, suggesting
  • Responsive design with dark/light themes
  • Modular codebase for scalable team development

๐Ÿ—‚ Project Structure #

studybuddy/
โ”œโ”€โ”€ app/                    # App Router pages & layout
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/         # UI components (Navbar, Footer)
โ”‚   โ”œโ”€โ”€ context/            # Auth, theme, question context providers
โ”‚   โ”œโ”€โ”€ features/           # Feature modules (Ask, Requests, Profile)
โ”‚   โ”œโ”€โ”€ firebase/           # Firebase config & Firestore helpers
โ”‚   โ”œโ”€โ”€ services/           # AI logic, request & question APIs
โ”‚   โ”œโ”€โ”€ utils/              # Utilities (e.g., formatDate)
โ”œโ”€โ”€ public/                 # Static files (icons, logos)
โ”œโ”€โ”€ styles/                 # Tailwind config & globals.css
โ”œโ”€โ”€ .env.local.example      # Environment variable template
โ”œโ”€โ”€ README.md               # Project documentation

โš™๏ธ Getting Started #

  1. Clone the repo

    git clone https://github.com/your-username/studybuddy.git
    cd studybuddy
    
  2. Install dependencies

    npm install
    
  3. Setup environment variables Create a .env.local file based on .env.local.example and add your Firebase and OpenAI credentials.

  4. Run the dev server

    npm run dev
    
  5. Deploy

    • Push to GitHub and connect to Vercel
    • Add environment variables in Vercel settings

๐Ÿง  AI Integration #

FeatureAPI RouteDescription
Rephrase Questions/api/rephraseRewrites unclear student questions
AI Answer Generator/api/ai-answerReturns a model-generated explanation
Resource Suggestions/api/ai-suggestionsSuggests quality links for a question

๐Ÿ‘ฅ Contributors #

  • Ahmad Tawil โ€“ System Engineer, Layout, Requests, Ask
  • Cyrine โ€“ Firebase Auth, Context, Security
  • Adam โ€“ Ask Page, AI Service Lead
  • Ibrahim โ€“ Requests Feed, Integration
  • Omar & Marwa โ€“ Profile Page, Stats, Badges

๐Ÿ“„ License #

This project is for educational purposes and may be extended with a proper open-source license in the future.


๐Ÿ“ฌ Contact #

For inquiries, feedback, or contributions, reach out via GitHub or email.

Made with โค๏ธ for learners, by learners.

Study Buddy โ€” Ahmad Tawil