Inspiration
We were inspired by these articles from the New York Times and Washington Post: https://www.nytimes.com/2020/09/05/world/asia/coronavirus-indonesia-school-remote-learning.html https://www.washingtonpost.com/world/2020/10/16/coronavirus-peru-remote-learning-inequality/?arc404=true
They go into detail about how virtual schooling right now has highlighted the significant inequalities in education between different classes of society. For people who can't afford personal computers or stable wifi, virtual education is nearly impossible for them to do and they'll fall significantly behind other students who are more well-off. This will only worsen the socioeconomic stratification we see around the world. This is a problem around the entire world, not just in developing countries. For instance, in the United States, roughly 1 in 10 people who earn under $25,000 a year report that a digital device was rarely or never available for a child to use for learning (source: https://www.brookings.edu/blog/education-plus-development/2020/06/22/unequally-disconnected-access-to-online-learning-in-the-us/). Our goal is to connect these students with people who have extra computers/tablets or who are willing to offer financial support. This helps ensure that disadvantaged students can still pursue an education.
What it does
Tequity is a platform that connects donors willing to give used laptops with disadvantaged students who need technology for school (e.g. laptops, tablets), but are unable to afford them. Teachers act as the middlemen in the exchange and can make a post by filling out a form requesting tech for some of their students who need it. Donors see a feed on the website consisting of cards containing various requests from teachers around the country. Upon clicking on a card, a donor can see more details such as the teachers' contact information, location, and what they need specifically. Donors can also make a cash payment through the payment form built with the Square SDK (though currently it is unable to make payments to a specific person. Payments go to the organization where it will be distributed to the teachers)
Lots of people have used laptops/tablets sitting around the house and if those could be donated, it'd be a big help to people who don't have that technology at all. We decided to have teachers act as the people who make the posts instead of the students because we felt like it'd make the requests for technology seem more credible. The teacher effectively acts as the middleman during the transaction and distributes the technology to the students in their class who need it the most. This also helps prevent potential scams from people making requests for new technology when they don't need it.
How we built it
This project was primarily built using the MERN stack (MongoDB, Express, React, Node.js). We also used the Square Developer API and SDK's, Material-UI, and the Civil Services API for retrieving images of state maps.
Challenges we ran into
Neither of us had experience with Material-UI and it proved to be more difficult to use than we had anticipated because it has its own syntax and components. We had to read a lot of documentation on the Material-UI website to figure out how to incorporate different stylings. The documentation also didn't cover everything we wanted, so we had to play around for a while with certain features to get the UI we wanted.
We had difficulty using React Router because only one of us had very minimal experience with it before. We were learning it as it went and got stuck on using routes within nested components, so we had to completely restructure our application to get the routes to work correctly.
We had difficulty incorporating the Square payment form because there was no official documentation/guide yet for how to incorporate it into a react application. We couldn't quite use the official guide because that guide was about making a basic form in vanilla javascript and HTML/CSS, as opposed to React. We ended up having to use a React SDK that was in beta, and still had to figure out some things on our own by reading lots of documentation. In the end, we still had difficulty setting the authentication header.
The most difficult part was building the whole thing and because we weren't too experienced in backend development, so building the server and MongoDB database proved to be the most challenging part and took up the majority of our time
Accomplishments that we're proud of
This was our first time building a full-stack project from scratch beyond simple tutorials and it was definitely really overwhelming at first since we had no clue where to start and had to learn various things like react routers, back-end development, and material UI. We're also really proud of the UI because we really wanted the application to look and feel smooth and spent a lot of time making sure we were satisfied with it.
What we learned
Building full-stack applications with the MERN stack. How to connect MongoDB to the server and connect the backend to the frontend. How to use Material UI, React Router, and Square Payment Services.
What's next for Tequity
We unfortunately didn't have time to add user authentication with firebase, so that is definitely the first next step. After that, adding some sort of teaching certificate verification feature to make sure that the person posting is actually a teacher and that the technology does end up going to the students who need it most. And after that, create an automatic matching system, where a donor could input what they're looking to donate (say a used laptop), and it automatically matches them to a teacher who needs it as well as a volunteer technician willing to fix it if it's broken.
Built With
- css
- express.js
- html
- javascript
- material-ui
- mern
- mongodb
- node.js
- react
- square-developer-api
- square-sdk
Log in or sign up for Devpost to join the conversation.