Skip to content

mansur20478/Planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Study Planner

A smart study planner that turns your course syllabi into organized, actionable study plans. We use AI to help you stay on top of your coursework without the usual planning headache.

Features

  • AI Task Generation: Drop in your syllabus (PDF, Word, or just paste the text) and get a structured study plan in seconds
  • Google Sign-In: Quick and secure login with your Google account
  • Live Sync: Your tasks update instantly across all your devices thanks to Firebase
  • Course Organization: Keep track of multiple courses with automatic progress tracking
  • Calendar Integration: Export tasks to Google Calendar so everything's in one place
  • Progress Tracking: Check off tasks as you complete them and watch your progress grow

How It Works

Your Phone/Tablet Cloud Services │ │ ├──► Firebase ────────────┐ │ │ (Login & Storage) │ │ │ │ │ └──► Node.js Server ──────┼──┘ (Processes syllabi) │ │ ▼ OpenAI GPT-4 (Generates tasks)


 What's Stored Where

All our data lives in Firebase Firestore:

users/ {your-user-id}/ courses/ {course-id}/ - name, courseCode, instructor - task count, progress percentage tasks/ {task-id}/ - title, description - due date, priority, completion status - estimated hours


 Tech Stack

Mobile App (Flutter)
- Flutter 3.38.1 (iOS, Android, Web)
- Firebase (authentication, database)
- Material Design 3

Backend (Node.js)
- Express server (file uploads, AI requests)
- OpenAI GPT-4o-mini (task generation)
- Supports PDF, Word, and plain text

 Getting Started

 What You'll Need
- Flutter SDK (version 3.0+)
- Node.js (version 14+)
- A Firebase project (free tier works fine)
- OpenAI API key
- Android Studio or VS Code

 Backend Setup
  1. Go to the backend folder:
 cd ai_study_planner
  1. Install packages:

    npm install
  2. Set up your environment: Create a .env file in the backend folder:

    OPENAI_API_KEY=your_key_here
    PORT=3000
  3. Add Firebase credentials:

    • Head to Firebase Console → Project Settings → Service Accounts
    • Click "Generate new private key"
    • Save the file as firebase-service-account.json in the backend folder
    • Important: Don't commit this file to git!
  4. Start the server:

    npm start

    You should see it running at http://localhost:3000

Flutter App Setup

  1. Go to the app folder:

  2. Install dependencies:

    flutter pub get
  3. Add Firebase config files:

    • For Android: Add google-services.json to android/app/
    • For iOS: Add GoogleService-Info.plist to ios/Runner/
  4. Run the app:

    flutter run

Using the App

  1. Sign in with your Google account
  2. Tap "Planner" in the bottom navigation
  3. Upload your syllabus or paste the text
  4. Hit "Generate Study Plan"
  5. Watch as AI creates your tasks
  6. Check them off as you complete them
  7. Export to Google Calendar if you want

Troubleshooting

Backend won't start?

  • Check that your .env file has the OpenAI API key
  • Make sure firebase-service-account.json is in the right place
  • Try a different port if 3000 is taken

Flutter errors?

  • Run flutter clean && flutter pub get
  • Make sure your Firebase files are in the right folders
  • Check flutter doctor for any setup issues

Tasks not generating?

  • Is the backend server running?
  • Check if your OpenAI API key is valid and has credits
  • For Android emulator, use 10.0.2.2:3000 instead of localhost:3000

Security Notes

  • Never commit your .env file
  • Keep firebase-service-account.json private
  • Add both to your .gitignore
  • Your OpenAI API key should stay secret

Known Issues

  • Web version has some Firebase auth quirks
  • Windows builds need Visual Studio with C++ tools
  • Best experience is on Android/iOS

License

Educational project - feel free to learn from it!

Need Help??

Check out these resources:


Built with Flutter, Firebase, and OpenAI

About

An AI-powered study planner that helps students organize their coursework, generate study schedules, and stay on top of deadlines. Features include course and task management, smart reminders, calendar integration, and progress tracking, all in a modern, cross-platform Flutter app.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors