When the current global health crisis started, schools enacted the distance learning method to keep their students safe. Students continue their study through online learning management systems where they can view study materials and submit their assignments. However, some students may not have good access to the internet. This is a huge problem especially for students in rural Indonesia where the infrastructure for Internet is lacking. These students are at disadvantage compared to their peers due to their limited access to education. We do not know how long this crisis will last, so not having access to education for a long period of time might negatively affect their future. We want to help these students by providing a learning management system that is specifically tailored to help solve these students' problem.
What It Does
Merpati is an on-demand asynchronous learning management system targeted toward students with limited access to the Internet. It is a progressive web app (PWA), which means that students can access and interact with the app even when they are offline as long as they have opened the app at least once. PWA is a great solution for these students since they do not have to waste their data downloading a native app and they can access the app anywhere, from their phone or laptop. The students can then view their study materials and assignments for the classes they are enrolled in. If they need to access new study materials, then the app lets them download the materials and it will be ready to view any time. The app name is inspired by how the dove bird was once used in the old days to send messages to far and rural places.
How We Built It
- React - We use the React library to create the PWA and it helps us to quickly prototype our project.
- Microsoft Azure - We use the free Azure credits to host both our PWA and our backend server. We also used CosmosDB as our database.
- Cotter - We use Cotter in our login page to make the login process as painless as possible since students are our target demographic.
Challenges We Ran Into
Although we are familiar with the concept, this is our first time creating a PWA. React makes it easy to convert our website into PWA, but we have to code additional methods to let the PWA cache responses from our backend server. It is also one of our members first time creating a website using React.
Accomplishments That We're Proud Of
- One of our members did not know how to use the React library, but he managed to create the entire website on his own.
- Our PWA works!
- We completed a pretty good prototype for our idea.
What We Learned
- PWA is amazing and should be implemented for other services, not just learning management systems.
- Azure is great for hosting websites and database.
- The hackathon provides us with an opportunity to push our limit and brainstorm ideas that might help our countrymen. We would like to join future GarudaHacks!
What's Next For Merpati
- We did not have the time to implement this since it is not our priority, but we thought that it would be cool to add Cotter's phone login option to the login page.
- We would like to optimize the website for even lower data usage.
- We would like to create a better caching strategy so the app does not take a lot of saved memory. We also would like to add a button or an automatic setting to remove old study materials.
- We would like to support caching files such as PDF, PPT, and others.
- The PWA is only for the student side, our next step would be creating the course instructor side.