A college notes-sharing portal where HOD-verified teachers publish and students find, rate and download.
Quick start · Features · Screenshots · Security · Roadmap · Contributing
Class notes usually live in scattered chat groups: nobody knows who wrote them, which semester they belong to, or whether they are any good. Zelmoriq fixes that with one rule: a teacher must be verified by their Head of Department before anything is published.
Students then filter by department, subject and semester, preview the PDF, download it and rate it.
flowchart LR
A[Teacher registers<br/>with certificate] --> B{HOD reviews}
B -- approve --> C[Teacher uploads<br/>PDF notes]
B -- reject --> A
C --> D[Students filter,<br/>preview, download]
D --> E[Students rate notes]
| 🔐 One login, four roles | Student, Teacher, HOD and Manager share a single secure sign-in |
| 🛡️ Verified publishing | Teachers upload a certificate; only their HOD (or the manager) can approve them |
| 🔎 Smart browsing | Search, filter by department / subject / semester, sort by newest, top rated or most downloaded |
| ⭐ Star ratings | One rating per student per note, changeable later |
| 📄 Safe file handling | PDFs are served through login-checked scripts, never by direct URL |
| 🧑🏫 HOD tools | Approve teachers, view certificates privately, moderate notes, export students to CSV |
| 🧰 Manager console | Departments, courses, subjects, HOD accounts, user management, contact inbox |
| 📱 Responsive design | Graph-paper look with note "sheets", works on phones and desktops |
| 🔍 SEO ready | Meta tags, Open Graph, JSON-LD, robots.txt and sitemap.xml generated automatically |
Design previews rendered from the project's real stylesheet. Replace them with screenshots of your own running site in
docs/screenshots/.
![]() Landing page |
![]() Student: browse, rate, download |
![]() HOD: verify teachers |
![]() One login for every role |
| Role | What they can do |
|---|---|
| Student | Register with course and semester, browse and filter notes, preview, download, rate |
| Teacher | Register with certificate; once approved, upload, edit and delete notes |
| HOD | Approve or reject teachers in their department, view certificates, remove notes, export students, manage subjects |
| Manager | Everything above plus departments, courses, HOD accounts, all users and the contact inbox |
You need: XAMPP (or any PHP 8+ and MySQL/MariaDB stack) and a browser.
# 1. Get the code into your web root (XAMPP: C:\xampp\htdocs)
git clone https://github.com/lufxi/zelmoriq.git
cd zelmoriq
# 2. Create your local config
cp config/config.example.php config/config.php # Windows: copy config\config.example.php config\config.php- Start Apache and MySQL in XAMPP.
- Open phpMyAdmin → Import → choose
database/zelmoriq.sql. - Edit
config/config.phponly if your MySQL user or password differs from the XAMPP default. - Visit
http://localhost/zelmoriq/setup.php, create the Manager account (tick the demo box for sample data). - Delete
setup.php, then log in athttp://localhost/zelmoriq/login.php.
Demo accounts (only if you ticked the box), password Zelmoriq@123:
| Role | |
|---|---|
| HOD | hod@demo.zelmoriq.test |
| Teacher | teacher@demo.zelmoriq.test |
| Student | student@demo.zelmoriq.test |
Delete the demo accounts before going live: Manager → All users.
- Backend: PHP 8 (procedural, PDO prepared statements, no framework)
- Database: MySQL / MariaDB with foreign keys, one unified
userstable - Frontend: hand-written CSS design system and a small vanilla-JS file (no Bootstrap, no jQuery, no CDN scripts)
- Fonts: Bricolage Grotesque and Figtree from Google Fonts, with system fallbacks
zelmoriq/
├── config/ config.example.php (copy to config.php)
├── includes/ bootstrap (security, db, auth), helpers, layout
├── css/ js/ design system and small enhancements
├── student/ dashboard, browse notes, rating
├── teacher/ dashboard, upload, my notes, edit
├── hod/ dashboard, teachers, notes, students, subjects
├── manager/ dashboard, HODs, departments, courses, subjects, users, messages
├── database/ zelmoriq.sql (schema + reference data), sample PDFs
├── docs/ AGILE_PLAN.md, BUG_FIX_LOG.md, PUBLISHING.md, screenshots
└── uploads/ user files (protected by .htaccess)
- CSRF token on every form; all state changes use
POST - Prepared statements everywhere (no string-built SQL)
- Passwords hashed with
password_hash(bcrypt) and a strength policy - Login throttling: 5 failed attempts per email + IP in 10 minutes
- Uploads: extension + real-content (MIME) check, random filenames, script execution blocked in
uploads/ - Notes and teacher certificates served only after role checks
- Password-reset tokens stored hashed, valid for one hour
- Private pages send
noindexso search engines never list them
Found a vulnerability? See SECURITY.md.
Zelmoriq is planned with Agile Scrum: two-week sprints, a prioritised backlog and a retrospective each cycle. See docs/AGILE_PLAN.md.
- Unified login, roles and secure uploads
- Teacher verification by HOD
- Browse, filter, download and rate notes
- Manager console and contact inbox
- E-mailed password resets and notifications
- Favourites and recently viewed notes
- Comments / questions on notes
- Support for DOCX and PPTX notes
- Automated tests (PHPUnit)
Contributions are welcome. Please read CONTRIBUTING.md first, and open an issue to discuss big changes. Everyone participating agrees to the Code of Conduct.
| Doc | Contents |
|---|---|
| AGILE_PLAN.md | Vision, backlog, sprints, definition of done |
| BUG_FIX_LOG.md | Every defect fixed from the original portal |
| PUBLISHING.md | GitHub, hosting and search-engine setup |
| CHANGELOG.md | Release history |
Built as a college project by Fathima Nahan E.A (lead developer), Fathimma Asif (database) and Saeeda K S (UI/UX).
Released under the MIT License.



