A single-page student dashboard for tracking classes, assignments, study plans, shared resources, group tasks, grades, and activity — all running locally in the browser with no backend or build tools.
- Open
index.htmlin your browser (double-click or drag into a browser window). - Optionally use a local dev server (e.g. VS Code Live Server) for a smoother experience.
- All data persists in
localStorageunder the keystudentLifeHub.
- Weekly overview with prev/next/today week navigation
- Summary cards: assignments due, classes today, group tasks, overall grade average
- Mini timeline showing classes and deadlines for the selected week
- Recent activity feed (last 10 actions)
- CRUD for weekly recurring classes (name, day, time, room, instructor)
- Weekly grid view (Mon–Sun columns)
- Full CRUD with title, course, due date, priority, and status
- Filter by week, course, and status
- Overdue and due-soon highlighting
- Weekly study blocks with optional assignment linking
- "Suggested focus" based on nearest upcoming deadlines
- Visual weekly grid
- Browse pre-seeded shared notes, slides, and links
- Share new resources (simulated upload)
- Download simulates access and logs activity
- Filter by course and uploader
- Pre-seeded groups with mock members
- Add tasks, toggle completion, reassign members
- Group progress bar (% complete)
- Grade table with per-course averages
- Overall GPA calculation (4.0 scale)
- CSS-only grade trend sparkline
- Append-only activity log with auto-logging on create/update/delete/share/complete/grade/theme actions
- Filter by action type and date
- Reset button to restore seed data
- Default: Dark mode (
data-theme="dark") - Toggle: Sun/moon icon in the header switches to light mode
- Preference persists in
localStorage
Switch between three mock students (Alex, Alice, Bob) in the header to see different perspectives on group tasks and shared resources.
- HTML5, CSS3, vanilla JavaScript
- No frameworks, no npm, no build step
localStoragefor persistence- Hash-based routing (
#dashboard,#assignments, etc.)
student-life-hub/
├── index.html
├── css/
│ ├── variables.css # Design tokens
│ ├── base.css # Reset & typography
│ ├── layout.css # Grid, sidebar, responsive
│ ├── components.css # Cards, buttons, forms, etc.
│ └── themes.css # Light mode overrides
├── js/
│ ├── mock-data.js # Seed data
│ ├── storage.js # localStorage CRUD
│ ├── themes.js # Theme toggle
│ ├── activity.js # Activity feed
│ ├── dashboard.js # Dashboard module
│ ├── classes.js # Classes module
│ ├── assignments.js # Assignments module
│ ├── study-plan.js # Study plan module
│ ├── resources.js # Resources module
│ ├── groups.js # Group tasks module
│ ├── grades.js # Grades module
│ └── app.js # Router & init
└── README.md
Go to the Activity tab and click Reset All Data to restore the original seed values.
Works in all modern browsers that support ES6+, CSS custom properties, and localStorage.