The disappearance of indigenous languages and cultures in the world made us realize that we need to take a step to try and improve the situation for these important parts of our culture and heritage and protect them. We believe that along with taking steps to save natural resources, we also need to save our culture resources for future generations. Thus, we came up with an application that would help people all over the world contribute as well as access online materials for indigenous languages all over the world. Our application would help create open source online resources for people all over the world to enable them to contribute in their own ways.
What it does
Our application has several different functionalities that encompass the tools one can use with indigenous languages.
-We have an interactive game that lets users guess words in indigenous languages along with a maintained leader board that gives users a competitive spirit while playing the game with people all across the world. -In addition, while playing the game, the users can choose two other more commonly spoken languages that would enable them to get an idea of what the word would be in another language and/or use it as a tool to learn vocabulary in a new language that they are learning. -The users can also pronounce the word, which we store to aid in our translation tool.
-Users can contribute to our open sourced dictionary for the indigenous language that we are building by manually adding translations for words too. They can easily take pictures of everyday objects which we classify using Machine Learning and enter in translations for the word in their language along with the pronunciations.
-A translation tool that people all over the world can use to translate to indigenous languages we have accumulated using any major spoken language around the world. This translation works based on a verification process that works with all the entries provided by users in the game.
How we built it
We used React on the front-end along with a Node server on the backend to create this app. MongoDB was essential to us every part of our journey as the database of languages, words, translations and users were the key components of our application. As we had to use dynamic keys and several other varied functionalities dealt with querying, accessing and updating records in collections, we found MongoDB really handy to use through this journey.
Challenges we ran into
Being university students, we hadn't had much experience with MongoDB in our course. There were several concepts of MongoDB that were new to us and we weren't sure of how to use them at the start. As we worked our way through the Hackathon we learnt more about MongoDB and how we could integrate it in future projects too.
Accomplishments that we're proud of
One accomplishment we're proud of was developing an open crowd sourced production level application during a span of just 2 months while also having to put out time for our equally demanding courses at university. In addition, combining several different functionalities including classification, verification, user authentication and DB functionalities really expand our horizons in app development.
What we learned
We learnt several things along our journey of building this application. Working with MongoDB especially on cross platform services with front-end as well as back-end were some really cool learning experiences in the fields of tech. We had to debug and test a lot, which really contributed to our learning curves as aspiring developers and computer science enthusiasts thus preparing us for future roles.
What's next for LeXo
We have several ideas for how we can add features to this app to make it easier and more intuitive for people to use in the future. Some of them are mentioned in the Powerpoint presentation we have uploaded below for our application.
Here's the link for a powerpoint presentation that we created to provide a detailed explanation to our application of LeXo and our development through this amazing journey.
Here's the source code for our development process. The React code can be found in the master branch, whereas the Node code is in the glitch branch. https://github.com/justingrace/LeXo