We have found that it is very hard to find good online courses that teach topics that we are interested in. The only current options are YouTube, which may not be the best source of education material, or courses on sites like Udemy, which have absurd prices that can be hundreds of dollars per year.
We decided to make a web app called OpenLearn. It is an alternative to online courses and combines the quality courses from Udemy and the accessibility of YouTube.
OpenLearn connects students and teachers through a web application. A teacher can upload videos, quizzes, solutions, and links to google forms through the OpenLearn web app. The student can search for any lesson they would like to learn with the search bar at the top of the student page. We believe it should be free for someone to be able to learn new things and that they shouldn’t have to pay for it. Therefore, our site will use ad revenue to pay the teachers for their hard work.
Note: The react web-app is just a mockup of what the app would look like and how it would function as we were not able to. If you want to see some working sections of what OpenLearn will do, try the Java app. Neither is a “final product,” but both have working features.
OpenLearn is made with React.js for the frontend and Google Cloud’s Firebase API for the backend. We also made a Java version of our app on NetBeans just in case our React app did not work. The web app is still just a very basic proof of concept and it may be missing some features.
Using React.js was much more difficult than we thought. We were recommended to use React for our web app at a workshop we attended. The many syntax errors we ran into were frustrating.
We did not have any experience with HTML/CSS/JS and we learned React js in just 24 hours.
We learned that learning a new language or a new framework is very hard and takes time. It is not a one-time thing, but rather a process that comes along with the struggles and successes of working on a project like OpenLearn.
We will make OpenLearn an open-source project! We also hope to fix/add a few more functionalities to make the web app fully functional.