Electronic textbook educational web-based application

Development of a prototype for an education service provider

We were approached by a service provider in the field of online education for the masses. Collaborating with educational institutions, they provide students with the opportunity to take courses, communicate with fellow students, and take tests and exams.
Since the system requires a connection to the Internet, it is impossible to use the system in off-line mode.
  • Develop educational desktop application for Windows 7 and later versions.
  • These applications, that required for continuing the course (course structure, text, graphics, video, assignments, etc.), are described in an XML file.

Our solution

What has been done

In the first stage - pre-project analysts - the team led by a project manager, a detailed study was made of the object. According to the results, Terms of Reference were developed and approved, including a detailed description of the information structure, functional specifications and a detailed project schedule.
The development team carried out work on setting up and developing all the necessary functions for the system, namely:
Data retentio
  • User ID
  • User Hash Passwords
  • Address of the last visited section of the course
  • Completion Data recorded in the form of key-value collection
  • Total number of attempts and score
- made through IronRoute
User roles
The application has one "User" role, which allows them to view all of their data (credentials, answer history, points), and data not available to other users.
Processing client exercise
Individual sections may have "Setting" sections during the course, which implicate the execution of one or more blocks with a question and answer input form. A fixed number of attempts and number of points for correctly executing the task need to be entered for each task. Checking jobs and scoring is done automatically in the controller in accordance with the declaration of the XML job description.
Video playback
During the course some topics may include a "Video" box. The video is played through the video player dash.js in these boxes. When the player starts, it downloads the video using its id and it is saved in the cache. If the network connection is broken or the absence of the desired file a notification of inability to upload files will be displayed.
Screen list
  • Login Screen
On this screen, user authentication occurs via a login and password.

  • Course Selection Screen
It displays a list of courses in the form of tiles. When you select the xml file, it is loaded and it is converted into a mapping template.

  • Course Page Title Screen
The name of the course, the image, start date, name of organization, and content are displayed in the form of a two-level drop-down tree (section/subsection).

  • Chapter Screen
The chapter screen corresponds to the essence of vertical or sequential in OLX specifications.

  • User Screen
The user's screen displays information about the course traversed by them, as well as the number of exercises passed.
At the final stage a packaging of the application in the desktop was carried out, which allowed courses to be used off line.
Alexander Kalinin
Team leader
We have developed the desktop application with training courses and everything necessary for them: texts, graphics, videos, exercises, etc. Our team has worked to make viewing all of your data (list of courses, exercises, answer history, points) easy for the user.

In addition to web-based applications we have even been able to make a desktop version which can operate completely autonomously without the Internet.
We have tried to do everything possible to make learning become more interesting and more convenient.
The interface developed software consists of five parts:
1. Home (list of courses)
2. Navigation Bar
3. Workspace
4. User Profile
5. Statistics Screen

There is a list of the 12 courses on the main window of the system. The navigation bar is used to switch between sections. The working area is used to display the internal content of the textbook. Some courses include test items, the use of which awards the user with points. To see the points scored in the course, you need to use the "Blog".
Technical Architecture
  • XML is used only as a data source. Application Controllers for rendering templates retrieve data from an XML file, convert them to JSON and send it to the template.
  • When you run the application, it loads the XML policy file and stores it as the xml-object as a model. If necessary, the data for displaying the application is obtained by controllers to take a model using tools with XML data and converted into JSON, required to display the template.
  • The application runs in the node-webkit container and works off-line. As a framework used by Meteor, would make the interface aesthetics and comfort. Writing and reading of data is performed via the built-in ORM.
  • The main challenge for us was to create a parser for the XML-files with courses. Parser, like the rest of the server parts, has been implemented with the help of Meteor framework. The client part was made on AngularJS with "reactivity" support.
  • In addition to web-based applications we have even been able to make a desktop version which can operate completely autonomously without the Internet. In this we were helped by Electron, a collector

Similar projects
Get free consultation!

If you want to get a free 30-minute consultation without any obligations, fill in the form below and we'll contact you.