A comprehensive open-source study portal for students of NIT Bhopal, available as a web application and a Flutter-based cross-platform app for Android, Windows, and macOS. The portal provides notes, previous year question papers (PYQs), assignments, and books for different subjects, organized in a structured manner.
- π Subject-wise categorized resources (Notes, PYQs, Assignments, Books)
- π Web Application (Hosted on Firebase Hosting)
- π± Flutter App (Supports Android, Windows, macOS)
- π Open-source & community-driven
- π’ Announcements feature for updates
- π Easy contribution by adding new subjects and resources
- Frontend (Web App): HTML, CSS, JavaScript
- Mobile/Desktop App: Flutter & Dart
- Backend & Hosting: Firebase & GitHub
- Database: JSON-based storage
- Version Control: Git & GitHub
βββ content/ # Contains all study materials (PDFs)
β βββ subject1/
β β βββ notes/
β β βββ pyq/
β β βββ assignments/
β β βββ books/
β βββ subject2/
β β βββ ...
β
βββ manitfirst/ # Flutter app source code
β
βββ web/ # Web app source code
β
βββ announcement.json # JSON file for notifications/announcements
β
βββ data.json # Main JSON database (metadata for all subjects & resources)
The project consists of three main components:
-
Web Application (
/web)- Simple static website with HTML, CSS, and JavaScript
- Hosted on Firebase Hosting (deployment handled by me)
-
Flutter Application (
/manitfirst)- Cross-platform application supporting:
- Android
- Windows
- macOS
- Cross-platform application supporting:
-
Content Management (
/content)- Organized repository of PDF resources
- Subject-wise categorization
The application uses two main JSON files for data management:
-
data.json
{ "subject_code": { "name": "Subject Name", "data": { "notes": [ { "title": "Resource Title", "desc": "Resource Description", "link": "Raw GitHub URL to PDF" } ], "pyq": [...], "assignments": [...], "books": [...] } } } -
announcement.json
{ "notifications": [ { "author": "Your Name (e.g., 'By Sumit Kumar')", "date": "Date (e.g., '10 Feb 2025')", "title": "Title of the announcement", "desc": "Description about the announcement", "link": "Optional URL if you want to redirect user to specific webpage" } ] }
To contribute or run the project locally, follow these steps:
-
For Web Development:
- Visual Studio Code with "Live Server" extension
- A modern web browser
-
For Flutter Development:
- Flutter SDK (Latest stable version)
- Dart SDK
- Android Studio (for Android development)
- Xcode (for macOS development)
- Visual Studio (for Windows development)
- VS Code with Flutter and Dart extensions
-
Version Control:
- Git
git clone https://github.com/iamwsumit/manit.git
cd manitSince the web app is a static website, you can run it using a Live Server Extension in VS Code:
- Open the
web/folder in VS Code. - Install the Live Server extension if not already installed.
- Right-click
index.htmland select Open with Live Server. - The site will open in your browser at
http://127.0.0.1:5500/or a similar address.
cd manitfirst
flutter pub get # Fetch dependencies
flutter run # Run the app (Choose Android/Windows/macOS)We welcome contributions! Follow these steps to add new resources, subjects, or improve the app:
Click the Fork button on GitHub and clone your forked repo locally.
-
Adding Study Resources
-
Add your PDF resources for notes, PYQs, assignments, or books to the respective directory under
/content/[subject]/[category] -
Update
data.jsonwith the resource information:{ "subject_id": { "name" : "Subject Name", "data": { "category": [ { "title": "Your Resource Title", "desc": "Brief Description", "link": "Raw GitHub URL to your PDF" } ] } } }
-
-
Modifying Web/Flutter UI:
- Make UI/UX changes inside the
web/ormanitfirst/directories accordingly.
- Make UI/UX changes inside the
-
Adding Announcements:
- Update
announcement.jsonwith a new announcement entry.
- Update
git add .
git commit -m "Added new subject/resource/UI improvement"
git push origin your-branch-nameGo to the GitHub repo and create a Pull Request (PR) describing the changes. The project maintainer will review and merge it.
Pull Request Guidelines
- Ensure all PDFs are properly formatted and readable
- Test links before submitting
- Follow existing code style and conventions
- Include clear commit messages
- Add documentation for new features
Technical Notes
- The platform only supports PDF files currently
- All resource links must be raw GitHub URLs
- The web application is a static website hosted on Firebase (deployment handled by me)
- Flutter app follows material design guidelines
- No backend server required - all data is managed through JSON files
Have questions or suggestions? Connect with us:
- Open an issue on GitHub
- Join discussions in the GitHub Discussions section
- Share feedback via PR comments
Or Contact me :
This project is licensed under the MIT License β you're free to use, modify, and distribute it!
π― Happy Learning & Contributing! π