Techinnov Portal is a web application for learning foreign languages. Initially designed for the Canadian army. It is secure and designed with a lot of interactive features to meet the needs of users with different abilities (also users with disabilities), allowing them to learn at their comfort, pace and with a learning style that fits them.
The client needed us to create two important aspects of this application - the portal and the module.
The module is an interactive section where users are provided different tests to help them learn. These tests are kind of an assessment to evaluate and grade the user based on their skills. Results of the tests are also provided on the module.
The portal is more of an admin section or a dashboard. It holds the user's personal data and learning progress. Currently, the module and the portal are separated and independent of each other, but we intend to integrate them together.
Work is currently ongoing. Our team is working with the client and getting feedback on the design.
A component of the application where students learn interactively.
The portal is a personal user dashboard. Each dashboard is different based on the role a user selects or is assigned during registration. The different roles are:
The admin of the application.
This is the student learning the foreign language on the application.
A tutor is a teacher who teaches the student the language he wishes to learn.
A technical user on standby for any technical issue that may arise within the application
A user responsible for managing the relationship between other users and the company.
A user responsible for getting more sales.
A user who is a professional and has experience in teaching. They provide professional guidance and support.
Fill the blank (button/input). Here, students are given a test sentence, but with some words missing. Buttons are provided, and one of them has the correct answer. The student is expected to click the correct answers. Also, students are allowed to supply the correct answer by typing the word in an input box or space.
Match Image. Here, missing words are represented as images, and a student is expected to select the correct images that represent the missing words.
Yet to be implemented features include
Dropdown. A drop-down uses a more graphical control element to allow students to choose one value from a list of options when the dropdown is activated
Fill in the blank (drop-down - button). Students are given a sentence with a word missing. That correct answer can be found in a drop-down with a list of other possible answers. Once a student clicks on the drop-down box, all the options appear. The options in the drop-down in this case are listed in a button-like format. A student clicks the correct answer button option from the drop-down of options.
Drag-drop. This is also a graphical feature that enables a student to select an object by grabbing it from one location on the screen to another. This object could be text or an image.
Listen and Repeat. A sound feature, on the module, for a more audio-stimulated audience, where words are pronounced, and the student listens and repeats after the speaker.
From the dashboard, students can view their progress. The module has about 16 courses to study and interact with. The percentage of each of those modules' progress is displayed on the dashboard.
This feature allows students to take and save notes about their studies on the portal.
Announcements come from the tutor, and they are sent to the students of that tutor
A notification widget that signals when the student has a message. This also displays the last three messages received and the total number of unread messages.
On the portal, students can view the course plans available for a module. Each course plan includes the number of classes, their duration, different courses, and the scheduled hours per month for a required module. A student can book a lesson appointment here with a tutor. Once the student chooses a date and scheduled options, a list of available tutors within that period will be displayed. The student selects the preferred tutor
The report section gives detailed reports on a student's activities and performance on the application. For example, the report section shows schedules, ongoing classes, completed classes and modules, etc
The feature is under development. It is expected to show the availability of a tutor, holiday, weekends, classes schedule, and different appointments.
This feature displays on the tutor dashboard. The tutor manager allows a tutor to view the number of active students under his tutelage, the hours dedicated, the percentage of performance, profits, schedules, and appointments.
Different roles need different information. Questions and fields for completing profile information vary from role to role. Needless to say, all roles require basic information like username, phone number, email, and address. This is under development
Frontend and backend features
Implementation of logic
We developed different modules, types of tests, and the logic implemented on each module that assesses students and grades them. This logic gives points to the student based on the degree of difficulty of each question and the number of attempts in answering them. Difficult questions have higher points. Questions answered on the first attempt have more points. The more attempts a student has on a question, the fewer points he gets. These points are accumulated throughout the session, and they make up the final score of a student
We are building the database on a closed access server to store the contents and results of the modules.
We used SQL to manage the database of the portal. We are currently working mainly on the front end.
We tested the portal. We are also working with the client to test the module.
We deployed both the module and the portal to Azure
Methodology of development
Module - April 2021 - ongoing
Portal - May 2021 - ongoing
Module - 2 Front end developers
Portal - 1 Backend, 1 Front end developers / Team lead, 1 QA engineer
Angular Material UI