Back to projects
sms-laravel-app

SMS Laravel App

The School Management System (SMS) Laravel App by Defgine is a comprehensive platform designed to optimize school operations. It enhances student attendance and progress tracking, exam management, and administrative functionalities while offering parent access and even LMS functionality. My contributions focus on app design, technology integration, dynamic reporting, in-platform evaluations, and customizable & accessible UI/UX, ensuring a user-friendly experience. Key features include customizable components, robust data importing, and extensive role-based access control. I am also currently on charge of developing a SaaS landing page and documentation in both Spanish and English.

TOC

Insights & Reports:

  • Global and Department-Specific Attendance Graphics: Implemented dynamic querying for attendance periods, enhancing insights into student attendance.
  • Activity Logs Feature: Allows admins to search by role and check detailed activity logs for specific users.
  • Report Generation: Developed a system for generating reports and exporting data in specific formats (PDF and CSV). This includes custom views per report type, as well as filtering, sorting, and custom actions. To achieve this I built a reusable and dynamic table from scratch, which we later utilized in various parts of the app.

UI/UX

  • General improvements: Enhanced overall UI/UX with improved styling, navigation fixes, and custom components like a User Picker, Custom Table, Combobox.
  • Dynamic information layout: Made the process of adding properties to users, groups and departments ~5x faster as well as more customizable for clients by adding a settings interface for dynamically generating the layout and selecting the default values.
  • Main Menu: Created a customizable sidenav where we can dynamically add categories, internal or external links with custom icons, as well as role based access restrictions.

Internationalization and Accessibility

  • Implemented internationalization and Spanish language support, ensuring dynamic translations and better accessibility for Spanish-speaking users.
  • Implemented dark/light mode variations.
  • Added visual cues, such as question, warning, info and universal icons, as well as tooltips, progress bars, and optimized layouts for better user interaction.

Data Import

  • CSV import: implemented a import functionality for users, with handling of errors as well as replacement of missing attributes and generation/handling of protected attributes.

Migrations

  • Created node scripts, SQL statements and standard procedures to import and transform data from tables with hundreds of thousands (in one case 1.6 million) entries from the legacy app to the new implementation for our clients.

Exams

  • Live Exams: Implemented in-platform exams including countdown, scoring, program + level linking, and grading by teachers. As well as a custom interface for students to take the evaluations, and dashboard notifications of pending exams.

Performance & Security

  • Process optimization: Optimized backend processes and queries(both with raw SQL and Eloquent (Laravel’s ORM)), significantly reducing execution times for reports, logs and any other queries that had room for improvement.
  • Role Access: Added/reviewed app-wide role access/restrictions. From backend controller methods to frontend views and components.

Settings and Admin Features

  • Custom Password Resets: Implemented a password reset feature where admins can reset passwords for individual users, or in bulk for departments, roles, groups.
  • Supervisor assignments: Created an interface for admins to assign departments to supervisors.
  • Department styling: Added an interface where admins can make layout styling modifications per department.
Back to projects