We saw a video about the state of education in a Syrian refuee camp in Lebanon. It showed a blind girl who went to a temporarily erected school. The biggest challenge for her was that there were no braille books available. In the video, the teacher spoke about all the issues that the kids were facing. They had no reason to hope for a better tomorrow. Parents said that sending kids to a school, even a temporary one, allowed the children to have some sense of normalcy in an otherwise harsh environment. The video made us realize the importance of enabling education in a disaster-recovery area.
What it does
The app allows a community to do collaborative education in a time of disaster recovery. People who have spaces in their homes and are willing to help, can sign up and submit details of their spaces on the app. Teachers and volunteers (who are willing to teach), can sign up with the app, submit their details including materials that they might require for teaching, and look for available spaces. Teachers can then sign up to teach at one or more of the available spaces. Students can sign up for classes. And the people from the community in general can sign up and donate materials that the teachers need. The app has a map view that allows teachers/students/donors to find the nearest spaces to optimize the teaching/learning/donating process. The app also sends notifications when a teacher signs up for a space or a student signs up for a class.
How We built it
We split the work in three parts:
- UI code
- Db layer code
- Connecting the dots
Prachi: I wrote the database layer services using Nano (a CouchDB library for Nodejs), the basic routing code using Expressjs and the emailservice using Sendgrid.
Together: We worked on the complex routing scenarios together as well as connecting the front end to the back end. We also tested things out together.
Challenges We ran into
One of the biggest challenge we had was authentication. We used IBM SSO. It was hard to configure and setup. And once we had set it up, we could not test our code locally. It made debugging issues very challenging.
Another challenge was splitting up the work - especially when we had to connect the back-end to the front-end and do the end-to-end testing. There were parts where we had to use ScreenHero and work together.
Accomplishments that We're proud of
We're proud of
- Email notifications
- OAuth integration
- Using the async library (can be very scary)
There's still a lot of work to be done. But we completed the very first version of our app!!!
What We learned
We learnt how to build an application end-to-end. I had only worked on different pieces of the web development process. David had never done any web development. This was our first time doing things end to end.
What's next for After-the-disaster
Code wise: We're planning to add appropriate error messages, add validations, add logging, improve the routing and refactor the code.