A web-based platform that allows students to collaborate in real-time, join study groups, share resources, track progress, and schedule study sessions.
-
User Authentication
- Email/Password and Google authentication
- User profiles and settings
-
Study Groups
- Create and join study groups
- Filter groups by subjects/topics
- Real-time chat communication
-
Collaborative Tools
- Shared whiteboard for real-time drawing
- Document sharing and collaboration
- Real-time code editor (coming soon)
-
Study Session Management
- Schedule study sessions
- Calendar integration
- Session reminders
-
Progress Tracking
- Study time logging
- Achievement system
- Performance analytics
-
Quiz System
- Create and take practice quizzes
- Track quiz scores
- Review quiz history
-
Frontend
- Next.js 14 (App Router)
- React
- TypeScript
- Tailwind CSS
- HeadlessUI
- Socket.io Client
-
Backend
- Next.js API Routes
- Prisma ORM
- SQLite Database
- NextAuth.js
- Socket.io
-
Clone the repository:
git clone https://github.com/yourusername/studyapp.git cd studyapp
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory with the following variables:DATABASE_URL="file:./dev.db" NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="your-secret-key" GOOGLE_CLIENT_ID="your-google-client-id" GOOGLE_CLIENT_SECRET="your-google-client-secret"
-
Initialize the database:
npx prisma db push
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
src/
βββ app/ # Next.js app directory
β βββ api/ # API routes
β βββ auth/ # Authentication pages
β βββ dashboard/ # Dashboard pages
β βββ groups/ # Study group pages
β βββ resources/ # Resource sharing pages
β βββ quizzes/ # Quiz system pages
βββ components/ # Reusable React components
βββ lib/ # Utility functions and configurations
βββ types/ # TypeScript type definitions
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.