EcoDoc allows students who do not have English as their first language to learn economic terms in their home language. Supports all 11 official South African languages.
EcoDocs was an initiative undertaken by the UCT Commerce Faculty to build an app that could help commerce students, who do not have english as their home language, find the definition of economic terms in their native language. The app can translate to and from all 11 South African languages.
The dataset was provided by Associate Professor Mbulungeni Madiba as an excel sheet. This allowed easy importing of data into an Sqlite database. There was no need to use any other database management systems as Sqlite can handle the fixed amount of data, and does not need to be set up and installed on a server.
Once we had the database, we needed to create a simple API to get data. We decided on using aspdotnet boilerplate which is built on top of .Net core. One of the biggest benefits is easy creation of OpenAPI Endpoints for later consumption in the client app. The endpoint takes in an input term and language and returns all the language terms and definitions in json format. This allows bidirectional translation between any of the languages. Aspdotnet boilerplate has a good layered architecture, which would allow easy upgrading of the app in the future.
After the API was ready, we created a mobile app to consume it. We used Ionic and Angular to build out the front end. Some of the benefits is that the use of angular allowed quick prototyping and testing on the web. But once complete we could compile to android. The Web version is still hosted and can be used here. Iphone users can use the PWA version which still allows them to add it to their home screen. One of the benefits of OpenApi is codegen using Nswag. We were able to generate the front end API methods that abstracted away HTTP Requests and made integration simple.