LearnFlow is a streamlined tool designed for Mentors to schedule live Google Meet classes and for Learners to attend them. The platform integrates with the Google Calendar API to facilitate automated meeting generation and class scheduling.
Provide a seamless interaction between Mentors and Learners for live educational sessions using Google Calendar and Google Meet.
- Mentor: Create and manage classes, schedule times, and generate Google Meet links automatically.
- Learner: View the dashboard of scheduled classes and join meetings directly.
- Secure Sign-in: Users authenticate via Google OAuth.
- Role Management: Users select their role (Mentor or Learner) upon first login.
- Class Creation: Mentors provide a Title, Description, and Start/End times.
- Automated Meet Links: Every class creation triggers a call to the Google Calendar API to create a primary event and generate a unique Google Meet video conference link.
- Calendar Synchronization: Scheduled classes are added to the Mentor's Google Calendar, and deleting a class removes it from the calendar.
- Class Board: A centralized list of all upcoming classes from all registered Mentors.
- One-Click Join: Learners can join the Google Meet session directly from the class card.
- Frontend: Next.js (App Router), Tailwind CSS
- Backend: Next.js API Routes (Serverless)
- Database: MongoDB
- Authentication: NextAuth.js
- Integration: Google Calendar API (googleapis)
- Node.js (v18 or higher)
- MongoDB Atlas account
- Google Cloud Console account with Google Calendar API enabled
Create a .env.local file in the root directory and add the following:
MONGODB_URI=your_mongodb_connection_string
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_random_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret- Install dependencies:
npm install
- Run the development server:
npm run dev
This application uses the https://www.googleapis.com/auth/calendar.events scope. In development environments, users may see an "Unverified App" warning from Google. This is expected as the application uses sensitive scopes to automate meeting generation. For this you have to, Clicking "Advanced" and "Go to LearnFlow (unsafe)" will allow the application to function correctly.