Skip to content

SahanPramuditha-Dev/StudyOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StudyOS 🧠

npm Vite Firebase TailwindCSS React

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.

✨ Features

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.

🖼️ Screenshots

Dashboard Projects ![Analytics Heatmap]

Live Demo: Open in Browser after npm run dev

🛠️ Tech Stack

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

🚀 Quick Start

git clone https://github.com/yourusername/studyos.git
cd studyos
npm install
cp .env.example .env.local  # Fill Firebase config
npm run dev

Open http://localhost:5173

Environment Setup

Copy .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

📁 Project Structure

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

🔍 Quality & Build

npm run lint      # ESLint
npm run build     # Production build
npm run preview   # Local prod server
npm run test      # Vitest

Deployment

Cloudflare Pages frontend

  1. npm run build
  2. Deploy the generated dist/ folder to Cloudflare Pages.
  3. Keep public/_redirects in place so React Router routes resolve on refresh.

Firebase backend

  1. firebase deploy --only functions
  2. firebase deploy --only firestore:rules
  3. 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.

🤝 Contributing

  1. Fork & clone.
  2. Create feature branch feat/your-feature.
  3. Commit: git commit -m 'feat: add X'.
  4. PR to main with tests.

Issues: Create New
Code of Conduct: Standard.

📄 License

MIT License - see LICENSE (add if missing).

🚀 Roadmap

  • Demo video/GIFs.
  • PWA support.
  • Mobile app (Capacitor).
  • AI study assistant.

📞 Support

  • 💬 Discord/Forum (TBD)
  • 🐛 Issues
  • 📧 Email via app contact form.

Star on GitHub if helpful!
DEVELOPER_GUIDE for advanced setup.


Built with ❤️ for students worldwide.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages