SaaS ERP System|

Schuelertreff

Schueletreff was a German startup in the education industry. They offered teaching services for private students and schools. Because of their rapid growth, managing and planning their lessons and teachers got nearly impossible.

They needed a customized solution specifically for their needs and company. This was the start of an extensive management system that comprises nearly all parts of their business and became fundamental for their work.

Technologies

  • React Logo
    React
  • TypeScript Logo
    TypeScript
  • NodeJS Logo
    NodeJS
  • NestJS Logo
    NestJS
  • PostgreSQL Logo
    PostgreSQL

Challenges

The biggest challenges when developing the ERP system became the features themselves. A time matching system had to be implemented, where matching teachers and time slots are matched with available students. Furthermore, each teacher should have the ability to call in sick, where then all affected lessons should be presented to the admins and can easily be reassigned to other teachers. Personal data submitted by new teachers had to be validated, and the application process had to be represented in the app.

Another big challenge in development was the communication with the client, to always be on the same page regarding every functionality. With all these features, the app must still remain intuitive and clear to the users.

Results

The final system became an extensive web app, which exactly mapped and optimized the companies processes. Admins can manage every step of the application process, create new applicant accounts, request necessary data, automatically generate and provide work documents and provide subjects and school types for each teacher.

Customers and schools can be created and, just like with teachers, saved with available time slots.

A complex time matching system allows admins to create new recurring lessons by providing customers, requested subjects and optionally further filters. Then they get a list of available teachers which are appropriate for the specific clients and a list of possible matching time slots for these teachers.

An admin dashboard summarizes all relevant data on one page. Teachers can view their individual schedule on their account and provide information for each lesson. They also can maintain their personal data and call themselves in sick when needed.

Links

Check out the source code on GitHub.

Screenshots

Admin view of timetable
Admin view of timetable
Admin view of timetable with lessons of day
Admin view of timetable with lessons of day
Create new lesson - Choose avaiable teachers and timeslots
Create new lesson - Choose avaiable teachers and timeslots
Admin view dashboard
Admin view dashboard
Overview of teachers with subjects
Overview of teachers with subjects
Details of teacher
Details of teacher
Details of teacher, document upload and actions
Details of teacher, document upload and actions
Overview of subjects
Overview of subjects