I was working in an NGO , which taught computer to student in government schools. The internet there was only available on one system. So when we needed to create a web quiz for the final review of the students knowledge , i had to use a totally offline version. I also saw that students were able to learn best by watching videos but they did that on the main system (which had internet). So i thought could there be a way to provide educational material using 2g internet or no internet. There i got the idea for edu-ral.
What it does
The application has two servers. One is the main server , where professors and we will upload videos. Those videos will be pushed to the systems in the school which have internet. The system mentioned will act as a server to provide over local network to all the other systems. This module for now just supports videos , but soon it will provide full pages and websites (eg wikipedia). the videos when ever available will be downloaded and hence students can view that connect without any internet.
How I built it
I modularised the project into 3 parts :
- main server backend - the backend which will push the content.
- main server frontend - the frontend which will provide the interface to upload data.
- client server - the client server which will receive data from the main server and will have a minimal interface for performance. Students can view videos using the frontend.
Challenges I ran into
Each of the above module was developed by different people , one by me and other two by team mates. The problem arised in the integration of the modules. Also streaming the videos was also a challenging task.
Accomplishments that I'm proud of
the project is developing at a nice pase and will be hoping to complete it real soon.
What I learned
learnt to use mongoose , express and angular through this project.
What's next for rural-connect
Soon the offline content will be including pdfs , ppts and html documents. In the 3rd iteration , students can request for specific content which will be downloaded over-time on the local server and they can view that content the next day or as its get downloaded depending on the local server's bandwidth.