Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Software systems and computational methods
Reference:

Development of a Mobile Application of the Student's Study Schedule

Zaikov Vladimir Polievktovich

ORCID: 0000-0003-1641-9458

Associate Professor, Department of Information Systems and Programming, Kuban State Technological University

350010, Russia, Krasnodar, Moskovskaya str., 2

zaykov_2024@mail.ru
Prozorov Pavel Dmitrievich

Student, Department of Information Systems and Programming, Kuban State Technological University

350000, Russia, Krasnodar Territory, Krasnodar, Moskovskaya str., 2

pd.prozorov@yandex.ru

DOI:

10.7256/2454-0714.2023.3.39609

EDN:

YTYIWB

Received:

13-01-2023


Published:

05-10-2023


Abstract: The purpose of the work is to develop a mobile application that can provide the ability to create and edit a training schedule. The subject of development is a proprietary multiplatform mobile application using the Flutter framework. During the development, the MVC architectural pattern was used, data storage was implemented using the SQLite DBMS. The methodology of the work is based on the Scrum method, which allows you to break the workflow into sprints, each of which allowed you to conclude that it is advisable to implement the decision. Functional analysis, as the main method, allowed us to identify the basic requirements for convenient use of the program: view schedules by calendar dates, auto-fill fields, the ability to create, edit and delete educational information. A hybrid solution was chosen for implementation. Our own multiplatform mobile application was developed using the Flutter framework. During the development, the MVC architectural template was used. Data storage was implemented using SQLite DBMS. When designing the database, the following objects were defined: subject, teacher, audience, lesson type, time, date, lesson date. The developed application is ready for publication in the AppStore and Google Play. The result of its use will be improved communication with trainees, acceleration of the processes of creating and changing schedules, as well as reducing the time to download the necessary data.


Keywords:

student's schedule, electronic schedule, mobile application, flutter framework, database, sqlite dbms, data storage, MVC architectural pattern, multiplatform solution, architectural template

This article is automatically translated.

Introduction

Currently, the rapid development of information technology and changes in the education system lead to the need to introduce information technology in all areas of education, including to support the educational process. One of the main problems in the learning process is the awareness of students about the academic schedule. Students should be able to view the current schedule of classes at any time. The key to solving this problem is an electronic schedule.

Advanced educational institutions already allow students to view the curriculum on the website. Such a schedule is convenient because it is available for any devices that support Internet access, but it also has drawbacks, such as the likely unavailability of the resource and limited functionality (for example, the inability to view the schedule for a certain day of the calendar). Moreover, the question remains what to do for students of educational institutions that do not have an electronic schedule.

In addition to the website, there is another, more convenient way to display the schedule in electronic form - a mobile application. Advantages of this approach: better user interaction by providing advanced settings, fast data loading, as well as the ability to cache them. [1]

Based on the above, the author decided to implement his own mobile application of the curriculum, which could meet the needs of most students. 

Analysis of existing solutions

To understand what basic functionality is required for the convenience of the user in the schedule application, some existing solutions will be analyzed further. First, the implementation of the electronic schedule in several universities of Krasnodar will be considered [2-4]:

1). KubGU. The schedule is presented in the form of Excel tables. Tables are compiled differently for each faculty. This format is not very convenient to use. It is possible to filter information using, for example, formulas and search methods in Excel, but this is not suitable for inexperienced users.

2). KubGAU. The schedule is available on the university's website. The schedule update date is displayed. It is possible to search for classes by group and by audience. For easy audience input, there is a drop-down list that appears when typing two or more characters.

3). KubSTU. The schedule is contained on the website. To display it, you need to fill in the following data: "Institute/Faculty", "Course", "Group". To facilitate data entry, there are drop-down lists with available options. It is possible to view the schedule not only for the current, but also for past semesters.

Next, some popular mobile applications will be analyzed [5-7]:

1). The application "Skedy". The schedule is presented as an endless list of "cards", each of which displays classes attached to a specific date. You can select the date from which the schedule will be displayed, by default it is today. The lesson is a collection of the following data: subject, teacher, audience, color, type, time (number, start, end), dates. On the lesson creation/editing page, there is an autofill functionality for fields for quick insertion of data used in other classes. In the application, you can add notes that are linked to specific dates and can be grouped into folders. It is possible to share the schedule with the group using a randomly generated code, which is available after authorization through a Google account.

2). The application "Schedule for students". The schedule is displayed for a week, because it is calculated that the user's schedule is constant and divided into a number of alternating weeks (for example, two weeks – even and odd). You can display a schedule for a specific day of the calendar. The lesson is a collection of the following data: subject, teacher, audience, color, type, time (number, start, end), dates. On the lesson creation/editing page, there is an autofill functionality for fields. The application has the ability to add not only classes, but also homework, notes, and grades. There is a "Lists" section where you can view, edit and add various data divided by DB tables: subjects, teachers, classrooms, homework, etc. It is possible to share your schedule using saving and loading data in JSON format.

3). The "Campus" application. In this application, unlike the ones discussed above, the schedule is not compiled manually, but loaded from the server. At the moment, about sixty educational institutions from different cities have joined this project. The schedule is displayed by days of the week, with the possibility of switching to a specific day of the calendar. The lesson card shows the number, time, name of the subject, type, number of the audience or venue and the full name of the teacher. The application allows you to watch and leave reviews about teachers, add anonymous posts to the news feed.

During the analysis, the author identified the functionality that can be added to the schedule mobile application. The programs considered have their own interesting features that can be taken into account in their own implementation – for example, a fairly convenient display of the schedule by dates in "Skedy" and data management of database tables through the "Lists" section in the "Schedule for Students" application.

 

Application Design

When there is no access to the database of the educational institution, there are three main ways to implement the schedule in the mobile application:

1. Parsing the schedule web page. In this case, when the schedule is loaded by the user, data will be automatically collected and structured from the web page on which the schedule is posted. This approach allows you not to think about adding and updating schedules in the application, but it is quite difficult to develop and involves a strong dependence on the layout code of the schedule page. In addition, you should not rely on the fast speed of such an application.[8]

2. Using a remote database. This approach assumes the presence of a server on which the schedule database is located. The application receives data from a remote server and caches it. The database is updated from time to time by the developer. This allows you not to depend on the layout of the schedule web page, and users do not have to add and update the schedule of classes, but the developer takes on this burden.

3. Using a local database. In this case, the schedule database is located on the client side. The advantages of this approach are that the developer does not have to think about updating the schedule, since the user makes all the necessary adjustments for himself. It also allows the user to create their own schedule of classes, and in addition to using an electronic schedule for students of those educational institutions that do not provide it. However, self-entry of data by the user can also be considered as a disadvantage, since he spends his time at the same time. In this case, it would be nice to add the ability to share the schedule with other people by exporting and importing data, or uploading local data to a remote server.

The authors decided to implement access to the schedule using a local database, since this method is the most versatile and easy to develop.

 To implement the curriculum application, a set of Flutter mobile development tools was selected, which consists of two parts: SDK and Framework. SDK is a set of tools for compiling code in native machine code. Framework is a collection of standard user interface elements (widgets). Flutter allows you to create multiplatform mobile applications in the object-oriented Dart language, which is aimed at developing web development and is positioned as an alternative to Javascript.[9]

The SQLite DBMS will be used to store data in the application. It is a relational database compatible with SQL. All SQLite logic is built into the program in the form of a C library, and all database data is stored in a single file. Thus, this DBMS works wherever there is support for C and permanent data storage. [10]

The designed database structure is shown in Fig. 1.

The application development will be carried out using the MVC architectural pattern, which suggests that when organizing the code, allocate blocks responsible for solving various tasks, namely: model (application data), view (appearance), controller (application operation control) [11]. Due to some difficulties in implementing MVC in Flutter, it was decided to use the mvc_pattern library [12].

For database queries, the sqfentity library [13] will be used, which allows you to automatically generate classes for all database entities and then easily execute SQL commands using chain methods.

Figure 1 – Application database structure

Figure 1 – Application database structure

When designing the interface, ideas from the applications discussed above were used. In particular, in "Skedy" the author found it convenient to scroll vertically through the schedule, as well as the lesson editing page and the lesson adding page. And in the "Schedule for students", according to the author, it is very convenient to have a lower navigation menu and a section through which you can manage various schedule data. They also listened to the wishes of several interviewed people about the location of some interface elements. On this basis, it was decided to add a button on the schedule page in the upper bar of the application to select the date for which the schedule should be shown, as well as a button to go to editing the schedule.

 

Application Implementation

The schedule page is implemented in the form of an infinite list of cards by date (Fig. 2, a), each of which displays all the classes attached to the corresponding day. This list was implemented using the ListView.builder constructor. The user can select the day from which the schedule will be displayed. To do this, click on the calendar icon on the top right, after which a window with a date selection will appear (Fig. 2, b).

To implement this, the SfDateRangePicker widget from the syncfusion_flutter_datepicker library was used [14]. This widget allows you to scroll through the dates vertically, and also, most importantly, select several dates at the same time (you will need to set the days on which it is held on the lesson editing page).

 

Fig. 2 – The schedule page (a) and a window with a choice of the date on which you want to display the schedule (b)

Fig. 2 – The schedule page (a) and a window with a choice of the date on which you want to display the schedule (b) 

To make changes to the schedule, the user needs to click on the button with the pencil icon on the top right. A page opens with all existing classes, divided by days of the week (Fig. 3, a). Information about classes can be edited, duplicated and deleted using the context menu, which is called by long clicking on the lesson card. This menu was implemented using the showMenu function.

To add a new activity, click on the round button with the plus icon. After that, a page for data entry will be displayed (Fig. 3, b). When entering data, the user will be offered values already entered earlier, i.e. existing in the database. To implement this functionality, the standard RawAutocomplete widget was used.

 

Fig. 3 – The "Classes" page and the context menu (a); the page for adding classes (b)

Fig. 3 – The "Classes" page and the context menu (a); the page for adding classes (b)

 

Through the "Lists" page (Fig. 4), accessible from the lower navigation bar, you can edit, delete and create: classes, subjects, teachers, audiences, times and types.  

 

Fig. 4 – The page through which you can go to the management of various schedule data

Fig. 4 – The page through which you can go to the management of various schedule data

  

Conclusions

The article considered the problem of creating a mobile application for viewing and editing the curriculum. The practical significance of the application development lies in the possibility of its application by students to improve their organization in the learning process. The analysis of ready-made solutions was carried out, its own implementation was developed and presented to solve the considered problem. 

The developed application is ready for publication in the AppStore and Google Play. It is possible to expand it by adding a "Settings" section with functionality for changing the color scheme, as well as saving and loading the schedule. You can also add the ability to view classes tied to a specific subject, teacher, time, etc.

The proposed solution takes into account the algorithm of scheduling and making changes to it. The created product can be applied to the schedule of almost any university, although it is based on the mechanisms of functioning of the schedule at the Kuban State Technological University.

References
1. Dubovik, E.S. (2021). The use of mobile applications in the sales activities of commercial enterprises. In the collection of the 57th scientific conference of postgraduates, undergraduates and students of BSUIR. Minsk, April 19-21, 214-215. Minsk: BGUIR.
2. KubGU [Electronic resource]. URL: https://www.kubsu.ru
3. Schedule of classes – Kuban State Agrarian University [Electronic resource]. Retrieved from https://s.kubsau.ru / 
4. Schedule of classes – Kuban State Technological University [Electronic resource]. Retrieved from https://elkaf.kubstu.ru/timetable/default/time-table-student-ofo
5. Skedy-schedule of classes of USPTU [Electronic resource]. Retrieved from https://skedy.ru
6. Applications in Google Play – Timetable for students [Electronic resource]. Retrieved from https://play.google.com/store/apps/details?id=com.bezgrebelnygregory.timetableforstudents
7. Applications in Google Play – Campus-Schedule of classes [Electronic resource]. Retrieved from https://play.google.com/store/apps/details?id=ru.dewish.campus
8. Skrypnikov, A.V., Denisenko, V.V., & Berestovoy, A.A. (2022). Data parsing for the university's mobile app. Bulletin of the Voronezh Institute of the Federal Penitentiary Service of Russia, 2, 126-132.
9. Kalinevich, N., Gilvanov, R.G. (2021). Development of cross-platform applications in the Dart language using the Flutter framework. Journal Intelligent Technologies in Transport, 4(28), 21-26.
10. Tkachuk, E.O. (2020, September 10). The use of sqlite DBMS in the educational process of a modern university. In the collection of articles of the IV International Scientific and Practical Conference. Scientific research of the higher school. Penza, 2020. – Penza: Science and Education (IP Gulyaev G.Yu.) (12-15).
11. Klebleev, Sh.A., Ibragimov, O.Yu. (2018). A web application using MVC technology. Journal Information and Computer Technologies in Economics, Education and Social Sphere, 1(19), 53-59.
12. mvc_pattern | Flutter Package [Electronic resource]. URL: https://pub.dev/packages/mvc_pattern
13. Sqfentity | Flutter Package [Electronic resource]. Retrieved from https://pub.dev/packages/sqfentity
14. syncfusion_flutter_datepicker | Flutter Package [Electronic resource]. Retrieved from https://pub.dev/packages/syncfusion_flutter_datepicker

Peer Review

Peer reviewers' evaluations remain confidential and are not disclosed to the public. Only external reviews, authorized for publication by the article's author(s), are made public. Typically, these final reviews are conducted after the manuscript's revision. Adhering to our double-blind review policy, the reviewer's identity is kept confidential.
The list of publisher reviewers can be found here.

The reviewed article is devoted to the task of creating an application for solving data search problems according to specified criteria in relation to the educational process. The authors show the relevance of switching from the web interface to a mobile application to ensure prompt access to data, including when there is no connection. Approaches to designing the application structure are considered, the choice of access is explained, the elements of the structure and the main features of the application are listed. The disadvantage of the article is the analysis of only 2 analogues and the lack of justification for the choice of UX design elements. From the point of view of the application design approach, the qualitative research used, the results of application testing, user feedback or error analysis and changes made are not reflected. The author's own research is not reflected in the article, it is difficult to determine the scientific novelty. The article is devoted to solving a practical problem. The style of presentation. The article uses professional terminology to the necessary extent, stylistic and semantic errors have not been identified. There are illustrations reflecting the main features of the application. The structure of the article meets the requirements for publication. The bibliography contains 11 sources, including 2 foreign non-censored publications, 2 in domestic peer-reviewed journals. There are references in the text. Remarks. In the review of analogues, it is necessary to supplement the consideration of existing applications with information about the form of presentation of the schedule by various universities (from open sources), for example, the presence of only a static schedule on the site, the availability of a schedule with the ability to search for a group / audience, the availability of both a schedule and a mobile application at the university. The selection criterion may be the city where the Authors' university is located, or a sample of universities of a similar profile, etc. If the Author conducted a survey of students or teachers in order to identify the requirements for the application, it is necessary to reflect the results. Perhaps the author conducted a survey in order to identify a way to access the schedule (website or application). It is necessary to justify why the mobile application was the object of development. It is not clear, when designing the interface, how did the Author create its structure? (selection of elements, relative position, number of screens). It is necessary to note the main criteria in the Application Design section. If the author performed AB-testing, it is necessary to provide its results (the main calculated criteria). It is highly desirable to note which elements caused difficulties for users, which changes were made. The captions should be specified. In Fig. 2a the names of the teachers are indicated, it is necessary to check the data for confidentiality. The captions are duplicated in English, the article is in Russian, so if this is not due to the requirements of the journal, it is necessary to remove the extra text. Figure 3a shows a pop-up menu, it largely overlaps the width of the main window. At the same time, it shows at least two levels of access (user and administrator), which is not reflected in the text of the article. The conclusion needs to be redone, reflecting the main practical significance of the development and the possibility of expanding the functionality. The wording "could be" in a scientific article should be avoided. The bibliography must be designed in accordance with the requirements of GOST and the Journal. The article needs to be finalized, after which it can be published. In the presented form, it can be published as a short message without re–reviewing with technical edits, if the comments above are eliminated, as a scientific article.