Based on our experience with Xgrades platform, along with the other e-Learning projects, Elinext has taken up the development of a new online education platform Enerd.
The German company providing educational services came to Elinext to launch a flexible tutoring marketplace where students and coaches could match to each other depending on a number of criteria:subject, experience, price, language, and other. The platform was supposed to offer a wide range of learning courses starting from school and university subjects to general topics, such as construction or fishing.
The development process started from deep business analysis with a goal to anticipate all possible business cases and meet users’ expectations. During this phase, the team defined all the possible interactions with the system for users, coaches, moderators, and system administrators.
After client’s requirements gathering session, Elinext development team prepared detailed project specification and started the development process that lasted around 7 months. The delivered app held the following functionality:
1. General overview
The platform is a responsive multilingual public website where a user can register an account, log in, find a coach against the range of parameters, start learning process and get technical support for all the problems he might encounter using the platform.
In order to support the big number of online users, our team established an infrastructure with several servers: a separated server that was used for a public website, and the additional server for a whiteboard and chat sections.
The public website uses WordPress optimized for high performance.
Since the lessons are held as an online webinar, video streaming, audio, and text-typing functionality have been implemented.
For video and voice chat we used WebRTC so that the team had to spend some time on configuring STUN and TURN servers which are required for peers to connect to each other.
A workspace contains an interactive whiteboard where both a coach and a student can draw, type or upload pictures in a real time. The whiteboard supports different tools for collaborative working: marker, eraser, shapes, polygonal objects, text, zoom in/out, uploading pictures, coordinate system, and more. The whiteboard can be extended with more tools, as needs scale.
To implement the whiteboard functionality we decided to use Node.js, socket.io, and canvas element. Socket.io module lets web socket communicate directly with the server and allow multiple people to draw on the same whiteboard.
The internal chat serves as a messaging system for coaches and students to clarify all the emerging issues before they both confirm a learning session. This ensures that both student and coach are a right match to each other.
5. Matching algorithm
The matching algorithm is based on the filters that students apply to find the most suitable coach. A student selects the topic and subtopic, filters them by time, price, level, date etc. and then the system suggests the relevant results for the available coaches.
In case no coaches can be found based on the exact parameters, the algorithm should suggest the closest match to the chosen criteria.
As a payment gateway solution, we have chosen BrainTree service, as they fully comply with PCI-DSS certification. The payment process is transparent, secure, and fraud-protected. All transactions are processed by payment service servers, while eNerd servers only store virtual credits.
7. Mobile app
A mobile application helps participants utilize all the capabilities of the platform and allows for fully functional learning session right from their smartphones and tablets. Moreover, the students are able to make quick photos of their tasks and upload them instantly to the whiteboard.
The website and mobile app communicate with whiteboard via custom API.
As a result, Elinext built quality e-learning platform featuring dozens of studying sections and subsections starting from maths and chemistry to computer science and politics with the interface available in two languages - English and German. The website has a secure integration with payment services and a Snapshot app available for both Android and iOS. After product release, the users shared their positive feedback and highly recommend the service among their acquaintance, so the number of registrations has been constantly growing.