An education platform where students can book online lessons with tutors and purchase courses.
Our client, Heba Alhosainy, came to Nebulosa with an idea to create an online education platform. She had researched existing platforms and realized they either allowed students to talk with a tutor one-on-one or buy courses. So Heba decided to create a platform for offline as well as online education where students could both purchase courses and book online lessons with tutors.
Heba asked Steelkiwi team to analyze what features were necessary for such an app, identify possible gaps in the business logic, create a design, and build the website itself.
According to Statista, the global online education market is forecasted to exceed $243 billion by 2022, whereas in 2016, it amounted to only $46.67 billion. With online education platforms, tutors can share their expertise and create courses for the whole world. Students, in turn, can study comfortably and affordably. They can also access courses from famous universities and tutors.
Employers that invest in educating their staff see 218% greater income per employee and 24% higher profit margins than those that don’t, according to the Darlo Group. Online education also allows businesses to reduce costs on lecturers, travel, hotels, and equipment.
People want to learn new things not only for work but also for hobbies and general competence. Thus, there’s demand for niche and global platforms such as YoTutors..
We built an online platform where students can book online lessons with tutors and buy courses. To find the perfect tutor, students can use filters such as subject, price, availability, location, and gender. YoTutors is designed for tutors too. To get started, they sign up as tutors and provide details including a brief introduction about themselves, experience, communication channel, introduction video, subject/subjects that they teach, resume, and schedule .
Administrators can manage users and payments for tutors and resolve conflicts.
Tutors can create courses, teach subjects, and be paid for their work.
Students can search for tutors and courses, buy courses, book lessons, and send messages to tutors.
Visitors can only search for tutors and courses|.
July 2018 – July 2019.
Before starting development, we went over the project’s business logic, examined the documents our client already had, researched the competition, and identified the best functionality offered by competitors to include in our client’s app. We then drew pages and went through all sections of the website using the User Flows approach, meaning we focused on what users need to get done on YoTutors (for example, purchasing a course) and how to deliver that in the most effective way. The User Flows approach helped us see whether there were any logical mistakes.
For lessons, our client decided not to make video calls directly via the platform but instead to use existing video chat apps like Skype, Hangouts, and Zoom. For the first version of the YoTutors website, implementing video call functionality would have taken too much development time and increased the budget.
We created the skeleton of the website, worked with the navigation, and made the user interface a reality with the help of forms, colors, fonts, and other visual elements approved by the client.
Our client suggested that we use dark blue as the main color and a brave orange for emphasis. We used these colors and created an easy-to-use, modern, and intuitive product that conveys the essence and value of the product. The image on the main page represents the diversity of subjects that can be explored on YoTutors.
We created the logo in close cooperation with our client. The overall concept was to combine the two main letters in YoTutors: Y and T. We offered different options for the logo and background colors and selected the font for the YoTutors name. Our client reviewed every option we offered and approved the final design.
We created the YoTutors website to support online and offline education in various subjects. Students can book online one-on-one lessons with tutors, buy lesson packages for a particular tutor, and buy courses (which provide offline access). Tutors can conduct lessons and upload courses to the YoTutors platform.
Integrating the Braintree SDK into PayPal
Our client wanted to make payments through PayPal so users could
pay from their YoTutors accounts without being redirected to the
website of a payment gateway.
PayPal doesn’t allow you to add your own payment form on not a PayPal site. Braintree does allow you to integrate your own payment form on your own site so that users can pay without being redirected. This works if a customer pays one service provider directly. But the YoTutors platform is a marketplace, as lessons and courses are provided by different tutors.
Braintree started providing functionality for such use cases not so long ago. Yet there were several barriers to implementing Braintree Marketplace. First, Braintree Marketplace isn’t available everywhere, and the YoTutors platforms aimed to function all over the world. Secondly, to use Braintree Marketplace, you have to contact the Braintree sales team and introduce your project – and the project has to meet several requirements. For example, it should already have been working for several months, be actively making payments to service providers, and have a monthly turnover of over $10,000. Our client’s startup didn’t meet these requirements. In the end, we decided to implement card payments using PayPal with no redirecting.
Synchronizing Google calendar with the YoTutors calendar We encountered a problem when connecting to Google Calendar and trying to synchronize the YoTutors calendar with it. An API didn’t return the code necessary to authorize and connect to Google Calendar. To solve this, we used react-google-login, a third-party library.
Choosing an HTML editor to edit course content We reviewed several editors and opted for Draft.js, a flexible editor.
Time zones
Working with time zones is always a challenge. In our case, the
problem was with displaying the list of tutors with their
schedules in the time zone of an authorized user or the time
zone of the browser of an unauthorized user. To solve this
issue, we used the pytz Python library..