Skip to content

Study Notes Hub is a user-friendly platform offering quick access to study materials with a sleek design using HTML, CSS, and Tailwind CSS, featuring embedded PDF viewing and easy downloads.

License

Notifications You must be signed in to change notification settings

rajofearth/study-notes-hub

Repository files navigation

πŸ“š Study Notes Hub

MIT License Vercel Analytics React Vite

Study Notes Hub is a modern, responsive web application designed to provide easy access to comprehensive study notes for various academic subjects. Built with React and featuring a beautiful UI, it offers seamless navigation between subjects, semesters, and note types with progress tracking and analytics.

🌐 Live Website

Access the live site at Study Notes Hub.

πŸ“Š Project Overview

graph TB
    A[User Visits Site] --> B[Home Page]
    B --> C[Browse Subjects]
    B --> D[Search Subjects]
    B --> E[Filter by Semester]
    
    C --> F[Select Subject]
    D --> F
    E --> F
    
    F --> G[Subject Page]
    G --> H[Choose Semester]
    G --> I[Choose Note Type]
    
    H --> J[Regular Notes]
    H --> K[Handwritten Notes]
    I --> J
    I --> K
    
    J --> L[PDF Viewer]
    K --> L
    
    L --> M[Track Progress]
    M --> N[Local Storage]
    
Loading

πŸ—οΈ Architecture Diagram

graph LR
    subgraph "Frontend (React + Vite)"
        A[App.jsx] --> B[StudyNotesHub.jsx]
        B --> C[SubjectPage.jsx]
        B --> D[HomePage Components]
        C --> E[PDFViewer.jsx]
        D --> F[SubjectCard.jsx]
        D --> G[SubjectFilter.jsx]
        D --> H[SubjectsGrid.jsx]
    end
    
    subgraph "Styling & UI"
        I[Tailwind CSS] --> A
        I --> B
        I --> C
        J[shadcn/ui] --> A
        J --> B
        J --> C
    end
    
    subgraph "Routing & State"
        K[React Router] --> A
        L[LocalStorage] --> B
        L --> C
    end
    
    subgraph "External Services"
        M[Vercel Analytics] --> A
        N[GitHub Raw Content] --> E
    end
    
    subgraph "PDF Storage"
        O[public/pdfs/] --> E
        P[public/pdfs/hwn/] --> E
    end

Loading

πŸ“‘ Key Features

🎯 Core Functionality

  • πŸ“– Subject Browsing: Organized by subjects and semesters with beautiful cards
  • πŸ“ Note Types: Toggle between regular and handwritten notes
  • πŸ” Smart Search: Find subjects quickly with real-time filtering
  • πŸŽ“ Semester Filtering: Filter subjects by semester (1 or 2)
  • πŸ“± Responsive Design: Optimized for mobile and desktop devices

πŸš€ Advanced Features

  • πŸŒ™ Dark/Light Mode: Seamless theme switching with system preference detection
  • πŸ“Š Progress Tracking: Visual indicators showing which notes you've viewed
  • πŸ“ˆ Analytics: Built-in Vercel Analytics for usage insights
  • πŸ’Ύ Local Storage: Remembers your recently viewed subjects and progress
  • 🎨 Modern UI: Beautiful interface built with shadcn/ui components

πŸ“„ PDF Management

  • πŸ—‚ Integrated PDF Viewer: Seamless note viewing without external downloads
  • πŸ“ Organized Storage: Separate directories for regular and handwritten notes
  • πŸ”— Direct Links: Easy sharing with direct URLs to specific subjects/notes

πŸ› οΈ Technology Stack

graph TB
    subgraph "Frontend Framework"
        A[React 18.3.1] --> B[Vite 5.4.1]
        B --> C[TypeScript 5.6.2]
    end
    
    subgraph "Styling & UI"
        D[Tailwind CSS 3.4.10] --> E[shadcn/ui]
        E --> F[Radix UI]
        F --> G[Lucide React]
    end
    
    subgraph "Routing & State"
        H[React Router 6.28.0] --> I[LocalStorage]
    end
    
    subgraph "Build & Deploy"
        J[Vite Build] --> K[Vercel Deployment]
        L[Vercel Analytics] --> K
    end
    
    subgraph "Development"
        M[ESLint 9.9.0] --> N[PostCSS]
        N --> O[Autoprefixer]
    end
Loading

πŸ“ Project Structure

study-notes-hub/
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ components/
β”‚   β”‚   β”œβ”€β”€ πŸ“ homePage/
β”‚   β”‚   β”‚   β”œβ”€β”€ SubjectCard.jsx      # Individual subject cards
β”‚   β”‚   β”‚   β”œβ”€β”€ SubjectFilter.jsx    # Search and filter controls
β”‚   β”‚   β”‚   └── SubjectsGrid.jsx     # Grid layout for subjects
β”‚   β”‚   β”œβ”€β”€ πŸ“ notesPage/
β”‚   β”‚   β”‚   β”œβ”€β”€ NavigationBar.jsx    # Subject page navigation
β”‚   β”‚   β”‚   β”œβ”€β”€ PdfViewer.jsx        # PDF rendering component
β”‚   β”‚   β”‚   β”œβ”€β”€ PdfViewerSection.jsx # PDF viewer wrapper
β”‚   β”‚   β”‚   └── SemesterTabs.jsx     # Semester selection tabs
β”‚   β”‚   β”œβ”€β”€ πŸ“ ui/                   # shadcn/ui components
β”‚   β”‚   β”œβ”€β”€ Header.jsx               # Main header with theme toggle
β”‚   β”‚   β”œβ”€β”€ study-notes-hub.jsx      # Main application logic
β”‚   β”‚   β”œβ”€β”€ subject-page.jsx         # Individual subject view
β”‚   β”‚   └── theme-provider.jsx       # Theme management
β”‚   β”œβ”€β”€ App.jsx                      # Root component with routing
β”‚   β”œβ”€β”€ main.jsx                     # Application entry point
β”‚   └── index.css                    # Global styles
β”œβ”€β”€ πŸ“ public/
β”‚   β”œβ”€β”€ πŸ“ pdfs/                     # Regular notes storage
β”‚   β”‚   β”œβ”€β”€ πŸ“ hwn/                  # Handwritten notes
β”‚   β”‚   β”œβ”€β”€ os-s1.pdf               # Operating System S1
β”‚   β”‚   β”œβ”€β”€ cf-s1.pdf               # Computer Fundamentals S1
β”‚   β”‚   β”œβ”€β”€ c-s1.pdf, c-s2.pdf      # C Programming S1 & S2
β”‚   β”‚   └── ...                     # More subject notes
β”‚   └── πŸ“ showcase/                 # Screenshots and assets
β”œβ”€β”€ package.json                     # Dependencies and scripts
β”œβ”€β”€ tailwind.config.js              # Tailwind configuration
β”œβ”€β”€ vite.config.js                  # Vite build configuration
└── README.md                       # This file

πŸš€ Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm (bundled with Node.js)
  • Git (for cloning the repository)

Installation

  1. Clone the repository:

    git clone https://github.com/rajofearth/study-notes-hub.git
    cd study-notes-hub
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
  4. Open your browser and navigate to http://localhost:5173

Available Scripts

npm run dev          # Start development server
npm run build        # Create production build
npm run preview      # Preview production build
npm run lint         # Run ESLint

πŸ“ Usage Guide

🏠 Home Page Navigation

  • Browse Subjects: Scroll through all available subjects
  • Search: Use the search bar to find specific subjects
  • Filter: Use semester filter to show only S1 or S2 subjects
  • Recently Viewed: See your recently accessed subjects at the top

πŸ“š Subject Page Features

  • Semester Selection: Choose between available semesters
  • Note Type Toggle: Switch between regular and handwritten notes
  • PDF Viewer: View notes directly in the browser
  • Progress Tracking: Visual indicators show your viewing progress
  • Navigation: Easy back navigation to home page

🎨 Theme Customization

  • Auto Detection: Automatically matches your system theme
  • Manual Toggle: Use the theme button in the header
  • Persistent: Your preference is saved for future visits

πŸ“Š Data Flow Diagram

sequenceDiagram
    participant U as User
    participant A as App.jsx
    participant S as StudyNotesHub
    participant SP as SubjectPage
    participant PV as PDFViewer
    participant LS as LocalStorage
    participant GH as GitHub Raw

    U->>A: Visit Application
    A->>S: Load Home Page
    S->>LS: Load Recent Subjects
    S->>LS: Load Progress Data
    S->>U: Display Subjects Grid

    U->>S: Select Subject
    S->>SP: Navigate to Subject Page
    SP->>LS: Update Recent Subjects
    SP->>U: Display Subject Options

    U->>SP: Choose Semester & Note Type
    SP->>LS: Update Progress
    SP->>PV: Load PDF
    PV->>GH: Fetch PDF File
    GH->>PV: Return PDF Content
    PV->>U: Display PDF Viewer

    Note over U,GH: Progress tracking and analytics happen throughout the session
Loading

πŸ“Έ Screenshots

Home Page Home page showcasing subjects, search functionality, and recently viewed items

Subject Page Subject page with semester selection, note type toggle, and integrated PDF viewer

🀝 Contributing

We welcome contributions! Whether you want to add new subjects, improve existing features, or fix bugs, your help is appreciated.

For detailed contribution guidelines, please read our CONTRIBUTORS.md file which includes:

  • πŸš€ Complete setup instructions
  • πŸ—οΈ Project architecture explanation
  • πŸ“š How to add new subjects and notes
  • βš™οΈ Local development configuration
  • πŸ› Troubleshooting guide

Quick Start for Contributors:

  1. Fork the repository
  2. Read CONTRIBUTORS.md for detailed setup
  3. Make your changes
  4. Submit a Pull Request

Feel free to create an Issue for any questions, suggestions, or bug reports.

πŸ“ˆ Analytics & Performance

  • Vercel Analytics: Built-in analytics for usage insights
  • Performance: Optimized with Vite for fast loading
  • SEO: Proper meta tags and structured data
  • Accessibility: WCAG compliant design patterns

πŸ“§ Contact

Developed by Yashraj Maher. For questions or feedback, please reach out via GitHub.

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.


Thank you for exploring Study Notes Hub! Enhance your learning journey with easy access to valuable resources. πŸŽ“πŸ“–


Last updated: December 2024

About

Study Notes Hub is a user-friendly platform offering quick access to study materials with a sleek design using HTML, CSS, and Tailwind CSS, featuring embedded PDF viewing and easy downloads.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •