Skip to content

Repository files navigation

ClassDeck

ClassDeck is a personal Google Classroom dashboard designed for students who want more control, customization, and organization than the default Classroom interface provides.
It adds a powerful local layer of features on top of the official Google Classroom data — without changing anything in the actual Google Classroom environment.

ClassDeck is built using Flask, Python, Jinja templates, and Google Classroom APIs (read-only scopes).
No JavaScript is required for the core functionality.


🚀 Features

🎓 Enhanced Course Organization

  • Drag and Drop course cards to reorder them exactly how you want
  • Locally rename Classes, Class Codes, and Sections
  • Add custom icons and banner images
  • Pin, unpin, or archive any class
  • Change the appearance of class cards in a unified dashboard

📚 Assignment & Material Management

  • View all assignments from all courses in one place
  • Add custom tags (e.g., HW, Exam, Important)
  • Mark assignments as To Do, Doing, or Done
  • Add personal notes for any class or assignment

🗂️ Material Organization

  • Categorize materials using tags and folders (e.g., Lectures, Tutorials, Books)
  • Search materials by title, class, tag, or topic

📅 Calendar Integration

  • Automatically add assignment due dates to Google Calendar
  • Unified timeline of upcoming deadlines

🎨 UI Customization

  • Google Classroom–style dashboard
  • Local themes (Light, Dark, AMOLED)
  • Clean grid layout using TailwindCSS
  • All templates rendered with Jinja

🔐 Privacy & Security

  • Uses OAuth 2.0 (Google Sign-In)
  • Only requests read-only Google Classroom scopes
  • Your customizations are stored locally in your own database
  • Actual Classroom data is never modified

📖 Documentation

Full documentation is available at https://paarthsiloiya.github.io/ClassDeck/.

It includes:

  • Quick Start Guide: How to set up and run the app.
  • Configuration: Detailed guide on Google API setup.
  • Developer Guide: Information about the codebase structure and modules.

🛠️ Tech Stack

Backend

  • Python 3
  • Flask
  • Google Auth / OAuth2
  • Google Classroom API (readonly scopes)

Frontend

  • HTML + TailwindCSS
  • Jinja templating
  • Zero JavaScript required for core features

Database

  • SQLite (development)
  • PostgreSQL / Firestore (optional for deployment)

🔑 Google API Configuration

To use ClassDeck, you must create a Google Cloud project and enable:

  • Google Classroom API
  • Google Calendar API

ClassDeck uses OAuth Client ID, not API keys.


📜 License

MIT License.


❤️ Acknowledgements

ClassDeck is not affiliated with Google.
It simply uses their official APIs under standard OAuth2 permissions.

About

ClassDeck is a personal Google Classroom dashboard built using Flask. It gives students advanced organizational features normally available only to teachers—without modifying actual Classroom data.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages