product#Laravel#Vue 3#Inertia.js#Tailwind CSS

Holy Child Secondary School

Open project

Holy Child Secondary School already had a way of running its academic year. The work was not to drop a generic student database in front of the school. It started with conversations about how staff organize sessions and terms, place students in levels and sections, enter scores, prepare results, and move students into the next year.

The difficult part was keeping those rules connected. A student can move from one section to another without losing the history of where they were. A score belongs to a subject, a term, and an enrollment. A result can be calculated before it is ready to publish. An annual decision can promote a student, keep them in the same level, or be reversed. The application was shaped around those transitions, and it has been used at the school for more than five years.

The shape of a school year

The first decision was to make the school’s academic structure visible in the product instead of treating it as labels attached to a student record.

School processHow the platform represents it
An academic year can contain three termsSessions own their terms, dates, and current-school context
Classes such as JS1, JS2, and JS3 can have sectionsLevels and sections are managed separately, with teacher allocations attached to the academic setup
A student can change section between termsEnrollment connects the student to a section for a particular term, preserving earlier placements
The school already has student IDsImports, score sheets, and school records continue to use the school’s existing identifier
Students can leave the schoolActive, withdrawn, and expelled states are kept without deleting the student’s academic history

That structure matters when someone asks a simple question such as, “Which class was this student in when these scores were entered?” The answer comes from the enrollment for that term, not from whatever class happens to be current today.

Assessment was configurable from the start

The school does not need one permanent formula for every academic year. Assessment settings allow up to six score components. Staff can name each component, set its maximum mark, configure grade scales, and set pass marks for each level. The components can represent whatever the school currently uses, such as assessments, assignments, projects, or exams.

The important part is that score entry and result calculation use the same settings. Changing the assessment structure changes the fields teachers enter and the rules used to validate and calculate the result. It does not require the school to keep a second set of rules in a spreadsheet or in someone’s memory.

Score entry fits the way staff work

Teachers and administrators can enter scores directly in the application, but the school also works with spreadsheets. Both paths lead into the same result workflow.

Entry pathWhat it is useful for
On-screen score entryEntering or correcting marks for a selected term, section, and subject
Excel templateFilling scores for a class in a familiar spreadsheet and importing them in bulk

The exported template lists the students enrolled in the selected class and term. Component cells are unlocked for input, while formulas calculate the row total and grade. The sheet also validates values against each component’s maximum mark. After upload, the application checks the student IDs, confirms that the students belong to the selected section and term, saves the scores, and recalculates the affected positions and results.

That gives the school a faster bulk-entry route without making the spreadsheet the source of truth. The application still owns the validation and the resulting academic records.

Results have a review step

The result workflow follows the school’s actual process:

  1. Staff configure the session, terms, levels, sections, subjects, assessment components, grade scales, and pass marks.
  2. Teachers or administrators enter scores on screen or import them for a selected class and subject.
  3. The application calculates totals, averages, grades, statuses, subject positions, section positions, level positions, and comments.
  4. Staff review the term results, run term or annual analysis, and export the master or composite sheets they use for administration.
  5. Results are published for individual students or in bulk. The application then makes the approved output available through report cards and the student portal.

Publication rule. Entering a score does not automatically make a result visible to a student. Publishing is an explicit action, so the school has a review point between calculation and release.

The analysis views help staff look at performance across the school, including top and bottom results and averages by level. They can also export the analysis for the school’s records instead of treating the screen as the only place the information exists.

The year does not end with the term result

Annual results are recomputed from the term results. The application keeps annual totals, averages, grades, and subject-level scores separate from the individual term records, so the school can review the year as a whole without losing the detail behind it.

Promotion is another decision connected to that history. Staff can select students and choose the next section, repeat the current level, or revert a previous decision.

End-of-year decisionWhat the platform does
PromoteRecords the promotion and enrolls the student in the selected section for the next session
RepeatKeeps the student at the chosen level for the next session
RevertRemoves the next-session enrollment and clears the promotion decision

The school can therefore correct an administrative decision without rewriting the student’s previous results.

Administration, documents, and access

The platform gives each part of the school process an appropriate place:

  • Administrators manage users, students, academic structure, assessment settings, documents, and result publishing.
  • Teachers manage scores, view results, and work with the documents available to them.
  • Students use the portal to view their own profile, published results, report cards, documents, and announcements.
  • Staff can generate individual or bulk ID cards and report cards.
  • Documents can be associated with a student, subject, term, level, or section.
  • News and announcements give the school a place to publish information alongside the academic records.

The student portal is the final step in the workflow. It carries an approved result from the administration side to the student who owns it, without turning the internal records into a public list.

What the conversations produced

The useful outcome was not a collection of screens for students, scores, and reports. It was a system that follows the school’s decisions from one end of the academic year to the other. Staff can set up the year, place students in context, enter scores in the format that suits them, review the calculated result, publish it when ready, and carry the record into annual results and promotion.

That is what makes the platform dependable in daily use. The rules the school explained during the work are still visible in the way the application behaves.