All modules
People and contact

Students

The phone rings and reception has three seconds to find a student, their group and a guardian's number. Students is the one list that holds it, instead of somebody's private spreadsheet.

Students 214
With account 169
No account 45
StudentGroupsGuardian
Zofia Bąk 601 220 118 ANG-B1M. Bąk Has account
Kuba Nowicki 605 441 902 ANG-A1 · NIEM-A2E. Nowicka No account
auto student register · 214
Students

What this module does

9
tabs on a student's details, read only
500
rows per CSV import, all of them or none
25
passwords from one click in the action bar
6
student fields a contract is built from

A student is a record

You create a student as a row, from a name alone - no address, no password, no email. The account comes later from one button, and a student without one is the normal state.

Groups, guardians, companies

A student belongs to several groups at once and the column behaves like tags. Guardians and companies are linked from the same cell, from either side of one link table.

The password goes by email

The envelope on a row creates the account or sends a new password, and says when the last message left, to which address and how it went. The school never sees it.

Twenty rows at once

Bulk actions reassign a group, append a note to the existing one, archive and delete. Passwords go out 25 at a time, and students with no address are skipped and counted.

CSV in and out

The export carries groups, guardians, companies and custom columns, and the import template says which column is required. An import only adds, all rows or none.

Who sees what

A module is a permission, and which records may be touched is settled on write, not in the menu.

RoleSeesChanges
OwnerThe whole register, including national ID, document number and date of birth.Everything: adds, edits, archives, deletes and sends passwords.
MethodologistThe same as the owner: the whole register with the contract fields.Everything in the register, import and bulk actions included.
TeacherTheir own students, from the groups they are assigned to. A manual grant opens the school.Nothing beyond the school's own columns. The screen only reads: no adding, archiving or deleting.
StudentThemselves, and only through the API. The register screen answers 404.Nothing. This is the school's list, not theirs.

The details nobody asks about during a demo

The things that only surface in the third week of working with the module.

What this module does not do
  • enrolments with dates - membership says who is in a group today, with no “since when”
  • editing on the details screen - contact, note and groups are fixed in the table
  • tuition or payments - a student's money is counted by Finance, not by the register
  • a lesson timetable - when a student has classes is told by Groups and the Schedule

When the school decides to give them one, and not a moment earlier. A student is created as a row, from the name alone, and the account is a separate move: the envelope in the row menu creates the membership and mails the password to the address in the E-mail column. A student without an account is the normal, default state, because the front desk keeps a register, not a list of logins.

By default their own students, meaning those from the groups they are assigned to - the same narrowing as for the student report, done by the same database function. The count above the table uses that same condition, so it does not reveal how many students the school has. Granting the module by hand opens the whole register, because the front desk is sometimes employed as a teacher. Either way the screen only reads: it does not create, archive or delete a student, and the national ID, document number and date of birth come out empty.

Nothing dramatic: membership of a group is a record of its own, so a student can sit in several groups at the same time and the “Groups” column behaves like tags. Group size is computed from those memberships, not from a counter someone types in. The bulk “Group” action replaces the selection's membership, because the bar sees the selection, not who already goes where.

The “Data” tab under the question mark holds the file template, the import and the export. An import takes up to five hundred rows at a time and goes in whole or not at all; one column is required, the full name. Groups, guardians and companies are written by name, and a name nobody here carries does not reject the file: the student is created without that link and the count comes back as a notice.

Nine read-only tabs: Overview, Lessons, Grades, Attendance, Remarks, Homework, Rentals, Contracts and Reports. Above them a bar of six numbers: attendance, average, unmarked, remarks, groups and lessons in the window. The date window covers one hundred and twenty days by default and three hundred and sixty-six at most, and it lives in the address with the tab. A tab whose module is missing does not appear.

Archiving is the better move. The archive keeps the history, takes the student off the list, closes their way into this school and frees the seat against the limit. Deleting takes attendance, grades, remarks, homework and assigned materials with it, and a student with a charge, a payment or an issued contract will not be deleted at all - the answer says what is holding them.

The owner and the methodologist, nobody else. The national ID, the document number and the date of birth come out of the API empty for anyone who has the module but does not run the school: in the list, in the details, in the bundle for a contract and in the CSV export. The server narrows this, not a hidden column, because hiding a column is cosmetics rather than access control.

A contract yes, but another module writes it: “Generate contract” in the row menu opens the Student contracts dialog with the selection, and the register hands it only the party fields - address, national ID, document and date of birth. Money this screen does not know at all; tuition, charges and payments are counted by Finance.

See Cerium from the inside.

14 days on your groups and instalments. No card, no strings.