SIRIO is a mobile application aimed at students having problems solving math or physics tasks. The student will receive the solution shortly after sending a picture of a given task. It will also contain the steps and explanation from a qualified personnel of coaches. Thanks to the application users can enhance their knowledge, prepare better for an incoming examination or simply check if their solution was any good. As for now the application offers help in math and physics however SIRIO is planning on adding new domains soon.
Of course we can find plenty of materials regarding solving homework or similar tasks however only SIRIO can give us a complete and verified solution from qualified coaches and also know why the solution is correct thanks to the clarification. The level of the solution is adjusted according to the user school settings. The application is available 24/7 and can be used from all around the world.
Whole infrastructure of the project has been separated into stateless microservices which allows stable and isolated job of each element. All microservices have been coded in JavaScript. As for the backend, the job is being done by NodeJS and Express framework also using modern solution – GraphQL.
GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015.
Thanks to this the API queries are very fast and elastic. Using one endpoint we can have results that suit plenty of requests and are tailored according to the data we need at given moment.
This technology allows us to reach many endpoints using only one query, having an aggregated response as a return. Thanks to the built-in interface of GraphQL we receive an automatically generated documentation of all available endpoints along with types and parameters.
React is responsible for beautiful and quick frontend. It is maintained by Facebook and a community of individual developers and companies. Thanks to Virtual DOM usage React creates a copy of the Document Object Model and stores it in memory. This allows React to compute and update only the differences making the process of rendering a lot faster.
Most of the project is covered with tests. With the usage of Cypress framework we automatically test teacher panel scenarios. For Android tests we have Espresso framework. Backend tests are covered in jasmine.
As we can see SIRIO is a big project with a lots of life and excitement in it. There are some great plans ahead of us so stay tuned for the updates!