JavaScript ยท Shipped
Study Buddy
A peer-to-peer homework help platform where students request and provide explanations, with AI-assisted moderation.
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 #
๐ ๏ธ Tech Stack #
| Category | Technology |
|---|---|
| Frontend | Next.js 14 (App Router) |
| Styling | Tailwind CSS |
| Authentication | Firebase Auth (Google, Email) |
| Database | Firebase Firestore (NoSQL) |
| Hosting | Vercel / Firebase Hosting |
| State Management | React Context API |
| AI Integration | OpenAI API (GPT-3.5) |
| Version Control | Git + 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 #
-
Clone the repo
git clone https://github.com/your-username/studybuddy.git cd studybuddy -
Install dependencies
npm install -
Setup environment variables Create a
.env.localfile based on.env.local.exampleand add your Firebase and OpenAI credentials. -
Run the dev server
npm run dev -
Deploy
- Push to GitHub and connect to Vercel
- Add environment variables in Vercel settings
๐ง AI Integration #
| Feature | API Route | Description |
|---|---|---|
| Rephrase Questions | /api/rephrase | Rewrites unclear student questions |
| AI Answer Generator | /api/ai-answer | Returns a model-generated explanation |
| Resource Suggestions | /api/ai-suggestions | Suggests 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.