Skip to content

Repository files navigation

TheDay Logo

TheDay

Your Ultimate Study Companion
All content and materials in the journey of a computer science student

Made with love by AASTMT Aswan CS Students

Live Demo Features Release Notes


Quick Tour

asfGeneric.PnP.Monitor.2025-12-24.20.23.53.RGB.mp4


Why TheDay?

Problem Solution
Scattered study materials across drives Unified dashboard with all semesters and courses
Slow file searching Instant search with keyboard shortcuts (Ctrl+K or /)
No offline access PWA support with IndexedDB caching
Outdated content tracking New item indicators show what's changed since your last visit
Multiple class management Multi-class support with seamless switching

Features

Dashboard & Navigation

  • Smart Home Dashboard - Personalized greeting with quick-access shortcuts
  • Continue Studying - One-click access to your last visited subject
  • Semester Overview - All 8 semesters displayed with course cards
  • Custom Semester Pin - Pin your current semester to the top
  • Responsive Design - Optimized for desktop, tablet, and mobile

File Browser

  • Grid & List Views - Toggle between visual layouts
  • Category Tabs - Filter by Material, Schedule, Previous Exams
  • File Preview - Hover-expand on desktop, zoom on mobile
  • YouTube Integration - Watch video lectures directly in-app
  • New Item Filter - Instantly see newly added content
  • File Type Indicators - PDF, YouTube, Link, and more

Search System

  • Global Search - Press Ctrl+K or / to search anywhere
  • Google Drive Search - Dedicated search with keyboard navigation
  • Real-time Filtering - Results update as you type
  • Smart Grouping - Results organized by subject and type
  • Keyboard Navigation - Arrow keys, Enter, Escape support

Performance & Caching

  • Progressive Loading - Fast initial load with background refresh
  • Smart Caching - IndexedDB storage for instant revisits
  • Change Detection - See what's new since your last visit
  • Optimized API - Reduced load time from 10+ to 2-3 seconds

Multi-Class Support

  • Transcript System - Join multiple class groups
  • Easy Switching - Dropdown selector in header
  • Persistent Preferences - Your class choice is remembered

Modern UI/UX

  • Dark Mode - Beautiful dark theme (light mode available)
  • Smooth Animations - Framer Motion powered transitions
  • Glass Effects - Modern glassmorphism design
  • Responsive Grids - Adaptive layouts for all screens
  • Touch Optimized - Swipe and tap gestures on mobile

Tech Stack

Next.js React TypeScript MUI Framer Motion MongoDB Google Drive API


Getting Started

Prerequisites

  • Node.js 18+ 👀
  • npm, yarn, or pnpm
  • MongoDB instance (for transcript features)
  • Google Drive API credentials

Installation

# Clone the repository
git clone https://github.com/DevAbdoTolba/theday.git
cd theday

# Install dependencies
npm install
# or
yarn install

# Set up environment variables
cp .example.env .env.local
# Edit .env.local with your credentials

# Run development server
npm run dev

Open http://localhost:3000 to see the app.


Project Structure

theday/
├── public/              # Static assets, PWA icons
├── src/
│   ├── components/      # Reusable UI components
│   │   ├── dashboard/   # Dashboard-specific components
│   │   └── feedback/    # Loading, tap effects
│   ├── context/         # React contexts (Transcript, Search, etc.)
│   ├── hooks/           # Custom hooks (useSearchShortcut, etc.)
│   ├── pages/
│   │   ├── api/         # API routes (Google Drive, MongoDB)
│   │   ├── subjects/    # Subject pages
│   │   └── theday/      # Dashboard pages
│   ├── styles/          # Global and component styles
│   └── utils/           # Helper functions and types
└── ...

Keyboard Shortcuts

Shortcut Action
Ctrl+K / Cmd+K Open global search
/ Quick search focus
Escape Close dialogs
Arrow Keys Navigate search results
Enter Select search result
Shift + Arrow Sidebar navigation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contributors


License

This project is open source and available under the MIT License.


TheDay - Making studying easier, one semester at a time.

Releases

Packages

Used by

Contributors

Languages