shikshaVault is a comprehensive digital resource repository built with Laravel, designed to manage and share academic materials seamlessly. It features a robust file management system, integrated PDF viewer, and a structured curriculum management interface.
- Resource Management: Upload, categorize, and manage digital files (PDFs, etc.).
- Curriculum Structure: Organize resources by Institutional levels, Program Streams, and Subjects.
- Integrated PDF Viewer: View documents directly in the browser with a secure wrapper.
- Bookmarks & Favorites: Save important resources for quick access.
- Admin Dashboard: Comprehensive tools for managing users, files, and the academic hierarchy.
- User Profiles: Track uploads, downloads, and personal activity.
- Search & Filter: Easily find resources based on academic levels and fields.
- Backend: Laravel 12.x
- Frontend: Livewire 3.x, Bootstrap 5, Tailwind CSS 4
- UI Components: Tabler, SweetAlert2, Dropzone.js
- PDF Processing: FPDF, FPDI, PDFParser
- Database: MySQL / SQLite (configurable)
- PHP ^8.2
- Composer
- Node.js & NPM
- MySQL or Laragon/XAMPP environment
-
Clone the repository:
git clone https://github.com/TheRealSamkit/shikshaVault.git cd shikshaVault -
Install dependencies:
composer install npm install
-
Environment Setup:
cp .env.example .env # Update your DB_DATABASE, DB_USERNAME, and DB_PASSWORD in .env -
Generate App Key:
php artisan key:generate
-
Database Migration:
php artisan migrate
-
Build Assets:
npm run build
-
Run the Application:
php artisan serve
Visit
http://localhost:8000in your browser.
app/Models: Contains the core logic for Academic levels, Programs, Subjects, and Files.app/Http/Controllers: Handles file uploads, access control, and user profiles.resources/views: Blade templates for the frontend UI.routes/web.php: Defines public, authenticated, and admin-only routes.
This project is open-sourced software licensed under the MIT license.