StudyOS is a comprehensive, modern study workspace for students and developers. Manage courses, assignments, projects, notes, reminders, analytics, and more with seamless GitHub/Google Calendar integrations and role-based access. Built for productivity with real-time collaboration and advanced tools.
| Feature | Description |
|---|---|
| 📚 Courses & Assignments | Create/track assignments with progress trackers, resources, notes, task breakdowns, submissions, activity logs. |
| 🚀 Projects Hub | Full project lifecycle: Task manager, bug tracker, code snippets, docs editor, GitHub sync, file manager, submission tracking, notes. |
| 📝 Smart Notes | Rich editor, search, previews, lists with toolbar for organized study notes. |
| ⏰ Reminders & Planner | Calendar views, event modals, Google Calendar sync, weekly planner. |
| 📊 Analytics | Learning charts, heatmaps, stats cards for performance insights. |
| 💻 Workspace | Multi-panel workspace with project selectors, code/docs/files/tasks/submissions views. |
| 🔍 Search & Admin | Global search, admin dashboard, bulk actions, role-based access (Firestore rules). |
| 🎯 Integrations | GitHub repos, Google Calendar, Firebase email/notifications, offline support. |
| More | Resources/videos/papers/review, error boundaries, themes, Google Auth. |
Live Demo: Open in Browser after npm run dev
Frontend: React 19 + Vite + Tailwind CSS + MUI + Framer Motion
Backend: Firebase (Auth/Firestore/Storage/Functions/Analytics)
Services: Google Calendar API, GitHub API, SMTP Email (Functions)
Hooks: Custom (useGoogleCalendar, useOnline, useStorage)
Testing: Vitest
Quality: ESLint + Prettier
git clone https://github.com/yourusername/studyos.git
cd studyos
npm install
cp .env.example .env.local # Fill Firebase config
npm run devCopy .env.example to .env.local and add:
VITE_FIREBASE_API_KEY=your_key
VITE_FIREBASE_AUTH_DOMAIN=yourproject.firebaseapp.com
VITE_FIREBASE_DATABASE_URL=https://yourproject-default-rtdb.firebaseio.com
VITE_FIREBASE_PROJECT_ID=yourproject
VITE_FIREBASE_STORAGE_BUCKET=yourproject.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=123
VITE_FIREBASE_APP_ID=your_app_id
GOOGLE_CALENDAR_API_KEY=your_gc_key
StudyOS/
├── public/ # Assets (logo/favicon)
├── src/
│ ├── components/ # UI (Sidebar/Footer/Modals)
│ ├── context/ # Auth/Theme/Reminder/GoogleCalendar
│ ├── features/ # Core modules (Assignments/Projects/Notes/Reminders/Analytics/Workspace)
│ ├── hooks/ # Custom hooks
│ ├── services/ # Firebase/Email/GoogleCalendar
│ └── utils/ # Helpers
├── functions/ # Cloud Functions (email)
├── server/ # Node (if extended)
├── firebase.json # Hosting/Functions config
└── README.md
Detailed: Projects Guide, Projects Summary
UI Standards: UI System Guidelines
npm run lint # ESLint
npm run build # Production build
npm run preview # Local prod server
npm run test # Vitestnpm run build- Deploy the generated
dist/folder to Cloudflare Pages. - Keep
public/_redirectsin place so React Router routes resolve on refresh.
firebase deploy --only functionsfirebase deploy --only firestore:rules- Configure Auth providers/domains in Firebase Console.
See firebase.json, firestore.rules.
Production Notes:
- Role-based access via Firestore rules (no hardcoded emails).
- Email via Functions
sendEmail(SMTP secrets). - Reminder scheduling via Cloud Functions.
- Profile/account ops via shared services.
- Fork & clone.
- Create feature branch
feat/your-feature. - Commit:
git commit -m 'feat: add X'. - PR to
mainwith tests.
Issues: Create New
Code of Conduct: Standard.
MIT License - see LICENSE (add if missing).
- Demo video/GIFs.
- PWA support.
- Mobile app (Capacitor).
- AI study assistant.
- 💬 Discord/Forum (TBD)
- 🐛 Issues
- 📧 Email via app contact form.
⭐ Star on GitHub if helpful!
DEVELOPER_GUIDE for advanced setup.
Built with ❤️ for students worldwide.
