Learners are not limited to just cities and urban areas. The people from remote, rural or outskirts areas often suffer due to limited or very slow or no internet. Even in the cities, an internet breakdown often hinders virtual learning which is a primary source of learning nowadays. We pointed this as a real issue and thought we should give this a try. Unhindered learning is our major inspiration here. This can be one of the projects under the "Best Hack for Hackers" Category since we are helping aspiring hackers go ahead with learning.
What it does
We have started building a CLI Tool that would have some questions saved for offline solving. It would also verify if your output is correct. We also have the feature of pseudo-codes that the user may use as a template or for reference. The tool is not limited to just solving and practising, but also revising the concepts using the PDFs that the user must have downloaded for future reference with just a few minutes of internet. So, 5-minute internet could give you 5-days of study-material.
How we built it
Shell-scripting - We wrote bash scripts to execute the CLI tool
Python - Python for learners to code in
Unit-test - we used unit-testing to verify the code against the testcases
pdfkit - to convert the url to pdf
Artscene - for the cool animation
Challenges we ran into
Well, none of us had an experience with bash-scripting or building such a tool earlier. We also got stuck in some really sticky errors in the codes that seemed to be super smooth and simple. ( We even switched the tech stack because of this, and then got back, haha!) Ah, the fun part! One of our teammates was using her sibling's system and pushed to the repo in the flow and later realised that he is not a participant and we couldn't undo that. But yeah, she was the monster behind the deed!
Accomplishments that we're proud of
Ah, so we are really proud of trying something we thought was difficult, initially. We are proud that we are actually trying to find a solution for a real problem in the current virtual learning scenario. We are proud that through this we can touch the lives of those living in remote areas who often struggle due to limited internet connections.
What we learned
We learnt bash-scripting, web -scraping, unit-testing and experimenting with the technologies that we are working on. We also learnt about binary libraries and their limitations with WSL Systems.
What's next for Off-Net Learner
It's just the beginning. The features that we have worked on are yet to be super-generic and useful. A few features are limited and a little glitchy(as you might have noticed in the code or the video). We'll work on that to make this a useful tool for those who need it. We also can think of expanding it to non-programmers, however that needs time and more understanding of the user needs, but yes, it's possible!