Mobile App for
Education Services

Challenge

The company asked us to develop a mobile app for Android and iOS platforms, as well as the web service of the same name, with the same functionality. The customer had an idea to develop a platform for the education sector to help in communication between teachers and students' parents. If a user needs to send any information, it is easy to create a message in the app: a teacher does not need to call up all the parents or write letters to them.

Solution

The client set a strict deadline for IntexSoft team: the app had to be developed by the beginning of the academic year. Considering this, together with the client we first decided to develop a prototype app, research the demand among end-users and then rewrite it. But it turned out, there was no reasons for that: the developed prototype was already a complete product, due to the fact that we initially implemented the right architectural solutions.

IntexSoft specialists developed templates for different types of messages within the app. Thanks to this, a user can create messages quickly and easily: you just need to select the type you need and fill in the template.

The important task was to configure the display, whether the teacher's message was read by a parent. In addition, our team customized the functionality of messages so that the parent must confirm the agreement with the information received. We also provided the teacher with the opportunity to send repeated messages to those parents who did not put their signature.

In the messages functionality development, the IntexSoft team faced the task of configuring the editing capability depending on user role. In addition, our team added such features as message search, filters, groups (ToDo, Done, event messages), the ability to add attachments: images, PDF, Excel and Word files. Also we added the feature of previewing attached documents.

Another task was to add push notifications feature. In this case, we configured it such that they interact with users as much as possible: by opening a push notification about an event, the recipient gets right to the necessary screen of the app.

IntexSoft specialists provided full-fledged application operation in offline mode, because one of the requirements was to configure the teacher's emergency communication with the parent. All necessary contacts are available in the service even without internet connection.

A user can edit contact information according to the access rights: parents can only change information about their children, the teacher only about the class that they manage.

For convenient offline operation, our team implemented synchronization of messages: they can be written, edited and deleted without access to the Internet. In online mode, the message is synchronized with the server.

Quite a difficult task, in terms of logic, was to configure the app operation for the cases when twins study in the same class. We developed the functionality of the app so that the teacher could send messages regarding each of the children individually. In such case, parents can give different answers to each message. For the cases when several children from the same family study in different classes, parents have a separate profile for each child.

Initially, our team had the task to develop an application for smartphones only. But in case if there will be a need to develop an application for tablets, IntexSoft developers made screens so they could be extensible. Such approach helped to minimize costs when the team received a request to adapt the application for tablets.

Another task was to add push notifications feature. In this case, we configured it such that they interact with users as much as possible: by opening a push notification about an event, the recipient gets right to the necessary screen of the app.

IntexSoft specialists provided full-fledged application operation in offline mode, because one of the requirements was to configure the teacher's emergency communication with the parent. All necessary contacts are available in the service even without internet connection.

A user can edit contact information according to the access rights: parents can only change information about their children, the teacher only about the class that they manage.

Security

  • To ensure the personal user data protection, we customized the operation of the app according to the General Data Protection Regulation (GDPR). In this regard, the data model within the app has changed: when the new version is launched, a user receives a message requesting confirmation of application usage rules and privacy policy. Also, our experts added a sign that indicates whether a user has confirmed the GDPR.
  • For the project security, a HTTPS connection was used.
  • Access to the server API is password protected - a user needs to be authorized to use the app.
  • The system of sharing access rights was integrated into the project.

Methodology & Transparency

The IntexSoft team worked on Scrum methodology with two-week sprints. To ensure the transparency during the project, IntexSoft has granted the client access to the corporate project management system Jira. After each sprint, our team demonstrated the work done to the client. Together we discussed how to improve the working process and the functionality of the application.

Team Composition

The dedicated team of developers handled the project. IntexSoft performed front-end and back-end development. The line-up:

2 iOS developers

2 Android developers

2 full-stack developers

Results

Key Features

  1. Direct communication between teachers and parents. Using text and image messages, a user can share important information and discuss school events within the app. A teacher can communicate with all parents, as well as create separate groups or write to certain individuals.
  2. Easy notifications control. With one click parents can confirm their agreement with the information. All confirmed messages go to the "List of signatures" section.
  3. Removing language barriers. Users can translate messages into 40 languages within the app.
  4. Protection of personal data. In the application, you can communicate without sharing personal contact information. A user is able to decide what data can be viewed by other users.

Technologies

Swift Azure CoreData Alamofire MVVM Reactive Swift Java Azure EventBus Android-annotation