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.
Access the live site at Study Notes Hub.
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]
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
- π 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
- π 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
- π 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
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
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
- Node.js (v14 or higher)
- npm (bundled with Node.js)
- Git (for cloning the repository)
-
Clone the repository:
git clone https://github.com/rajofearth/study-notes-hub.git cd study-notes-hub
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
npm run dev # Start development server
npm run build # Create production build
npm run preview # Preview production build
npm run lint # Run ESLint
- 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
- 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
- Auto Detection: Automatically matches your system theme
- Manual Toggle: Use the theme button in the header
- Persistent: Your preference is saved for future visits
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
Home page showcasing subjects, search functionality, and recently viewed items
Subject page with semester selection, note type toggle, and integrated PDF viewer
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:
- Fork the repository
- Read CONTRIBUTORS.md for detailed setup
- Make your changes
- Submit a Pull Request
Feel free to create an Issue for any questions, suggestions, or bug reports.
- 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
Developed by Yashraj Maher. For questions or feedback, please reach out via GitHub.
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