JavaScript · Shipped
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.
| 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 |
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
Clone the repo
git clone https://github.com/your-username/studybuddy.git
cd studybuddy
Install dependencies
npm install
Setup environment variables
Create a .env.local file based on .env.local.example and add your Firebase and OpenAI credentials.
Run the dev server
npm run dev
Deploy
| 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 |
This project is for educational purposes and may be extended with a proper open-source license in the future.
For inquiries, feedback, or contributions, reach out via GitHub or email.
Made with ❤️ for learners, by learners.