Description
LuviaEdu is a complete School ERP and Academic Management System designed for modern educational institutions. It provides a highly interactive, unified React dashboard for administrators, teachers, accountants, and other staff to coordinate student admissions, academic directories, financial transactions, class schedules, and student attendance.
Key Features:
- Academic Directory — Comprehensive student profile roster, class registration, and academic section management.
- Attendance System — Quick-action student attendance register with visual present/absent indicators and historical logs.
- Financial Ledger & Billing — Professional invoices, expense tracking, payroll processing, and student fee templates.
- Drag-and-Drop Form Builder — Visually design custom multi-column student registration or feedback forms. No coding needed.
- Dynamic Certificate Builder — Create, print, and distribute school certificates from a visual template editor.
- Frontend Student Portal — Full-screen React portal accessible via the
[luvia_portal]shortcode. - 3rd-Party Form Embeds — Embed WPForms, Gravity Forms, Ninja Forms, Contact Form 7, and Formidable Forms in a premium card UI.
- Role-Based Access Control — Fine-grained permissions for Administrators, Teachers, Principals, Accountants, Front Desk, Students, and Parents.
Getting Started
After activating the plugin:
Step 1 — Open the LuviaEdu Dashboard
Click LuviaEdu in the WordPress admin sidebar. The React dashboard loads automatically. Database tables and default configuration are created on first activation.
Step 2 — Complete the Onboarding Wizard
The Setup Wizard will guide you through: school name, logo, academic year, currency, and grading system. You can always update these later via LuviaEdu School Settings.
Step 3 — Configure Roles & Permissions
Go to LuviaEdu Roles & Permissions. Use the visual toggle grid to control which sections each role (Teacher, Principal, Accountant, etc.) can access.
Step 4 — Add Students & Classes
In the dashboard, navigate to Academic Directory. Create your classes/sections first, then add students individually or via the Admissions module.
Step 5 (Optional) — Create a Frontend Portal Page
Create any WordPress Page, add the shortcode [luvia_portal] to it, then publish. Share that page URL with your students and parents. Logged-in users will see a full-screen portal tailored to their role.
Step 6 (Optional) — Embed a Registration Form on Your Site
Go to LuviaEdu Luvia Forms Add New, give the form a title, launch the Visual Builder, and design your form. Copy the form’s Post ID from the URL (e.g., post=42 means the ID is 42). Embed it anywhere using:
[luvia_embed_form id=”42″]
Shortcodes
LuviaEdu provides two powerful shortcodes.
[luvia_portal]
Purpose: Creates a full-screen frontend React portal, bypassing your WordPress theme completely. Ideal for student/parent login and dashboard access.
Usage:
[luvia_portal]
How to set up:
- Go to Pages Add New
- Title it something like “Student Portal”
- In the Block Editor, insert a Shortcode block and paste
[luvia_portal] - Publish the page
- Share the URL with your students and staff
Note: This shortcode works via a template redirect. The page will render as a standalone HTML document, not inside your theme. Place it on a dedicated page — do not mix it with other page content.
[luvia_embed_form]
Purpose: Embeds a form (LuviaEdu native or from a supported 3rd-party plugin) anywhere on your site inside a premium glassmorphism card container.
Syntax:
[luvia_embed_form id=”FORM_ID” type=”TYPE”]
Attributes:
id(required) — The numeric ID of the form.type(optional, default:luvia) — Which form plugin to use.
Supported type values:
type=
Form Plugin
Full Example
luvia (default)
LuviaEdu Native Form Builder
[luvia_embed_form id="42"]
wpforms
WPForms
[luvia_embed_form id="5" type="wpforms"]
gravityforms or gravity
Gravity Forms
[luvia_embed_form id="3" type="gravityforms"]
ninjaforms or ninja
Ninja Forms
[luvia_embed_form id="8" type="ninjaforms"]
cf7 or contactform7
Contact Form 7
[luvia_embed_form id="2" type="cf7"]
formidable
Formidable Forms
[luvia_embed_form id="7" type="formidable"]
How to find your Native Luvia Form ID:
1. Go to LuviaEdu Luvia Forms Add New
2. Give the form a title and click Publish
3. Click 🚀 Launch Visual Builder in the sidebar to design your form
4. Look at the browser URL: .../wp-admin/post.php?post=42&action=edit — the number after post= is your Form ID
5. Use that in the shortcode: [luvia_embed_form id="42"]
User Roles
LuviaEdu registers the following custom WordPress roles on plugin activation:
- luvia_student — Read-only portal access (own profile, grades, attendance).
- luvia_parent — Read-only portal access (child’s profile, fee history).
- luvia_teacher — Staff access to attendance, rosters, and schedules.
- luvia_principal — Elevated staff access including reports and staff oversight.
- luvia_accountant — Financial module access (invoices, expenses, payroll).
- luvia_front_desk — Admissions intake and basic student look-up.
To assign a role to a user: WordPress Admin Users Edit User Role dropdown.
Fine-tune which dashboard sections each role can access via LuviaEdu Roles & Permissions.
Source Code & Build Tools
The unminified React source code and Vite compilation tools for the frontend dashboard are publicly available at:
https://github.com/sparkigniter/luviaedu
Installation
- Upload the entire
luviaedufolder to the/wp-content/plugins/directory, or upload the zip file directly via the WordPress Admin Plugins Add New Upload Plugin. - Activate the plugin through the Plugins menu in WordPress.
- Click the new LuviaEdu menu item in your WordPress sidebar.
- The Onboarding Setup Wizard will launch automatically on first run — follow the steps to configure your school.
For detailed step-by-step instructions after activation, go to LuviaEdu 📚 Help & Docs in your WordPress admin sidebar.
FAQ
-
Where is the full documentation?
-
After activation, go to LuviaEdu 📚 Help & Docs in your WordPress admin sidebar for a complete interactive guide with shortcodes, roles, and step-by-step instructions.
-
How do I embed a student portal on my site?
-
Create a WordPress page, add a Shortcode block, and paste
[luvia_portal]. Publish the page. That URL becomes your school’s portal — students and staff log in with their WordPress credentials. -
How do I embed a registration form on my site?
-
Build a form using the Drag-and-Drop Form Builder (LuviaEdu Luvia Forms Add New Launch Visual Builder). Note the Post ID from the URL, then paste
[luvia_embed_form id="YOUR_ID"]on any page. -
Can I use WPForms / Gravity Forms / Contact Form 7 with LuviaEdu?
-
Yes. Use the
typeattribute on[luvia_embed_form]. For example,[luvia_embed_form id="5" type="wpforms"]will embed WPForms form #5 in a LuviaEdu card. The required form plugin must be installed and active. -
How do I create a student account?
-
Go to WordPress Admin Users Add New. Select luvia_student as the role. The student can then log in to the portal page created with
[luvia_portal]. -
Where are form submissions stored?
-
Submissions from native LuviaEdu forms are stored in the plugin’s custom database table and viewable inside the LuviaEdu dashboard under the Admissions section.
-
The dashboard shows “Loading LuviaEdu…” but doesn’t load.
-
Ensure the plugin’s
assets/index.jsandassets/index.cssfiles exist. If you cloned from GitHub, runnpm install && npm run buildto compile the frontend assets.
Reviews
Contributors & Developers
“LuviaEdu – School Management System” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “LuviaEdu – School Management System” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.4.3
- Added Help & Documentation admin page (LuviaEdu 📚 Help & Docs) with interactive getting started guide, full shortcode reference, role reference, and feature overview.
- Updated readme.txt with complete shortcode documentation and step-by-step getting started guide.
1.4.2
- Added onboarding seed customization options.
- Implemented premium error pages (404 Space Orbit, 403 Principal Keycard, 500 Reactor Leak).
- Fixed roster hover scaling bug.
- Production security compile checks resolved.
1.0.0
- Initial public release.
