Moonlighters’ Dream: Linguathor utilizing ArangoDB

Linguathor

Moonlighters’ Dream: Linguathor utilizing ArangoDB

LINGUATHOR is designed to be beneficial to learners at any level of proficiency, whether beginner, intermediate or advanced.

Michael W. Martin, Software Engineer, Linguathor

Two (of three) brothers building a suite of language-learning apps that provide “Instant Immersion, Enduring Remembrance and Accelerated Fluency”. We’ve been building our project with ArangoDB
in our spare time since November 2016 and we currently support nine languages.

Use case

We are building a dataset that allows users to fetch, contribute and verify translations for the vocabulary and phrases that comprise their scripts, against which we also track actions like listening, priming, mimicry or review.

A problem that ArangoDB solves for us

We work on this project nights and weekends, so we need a tool that enables us to spend more time thinking about how to improve our language learning framework, instead of building out infrastructure. Furthermore, we also need a tool that ensures our application data will always match our conceptual model by providing a straightforward query language.

With this in mind, I really like the readability of AQL as compared to e.g. Cypher when discussing this or that query, because it’s syntax is complementary to the “ubiquitous language” we are building along with our little ecosystem of digital artefacts.

Linguathor utilizing ArangoDB

Our experience with ArangoDB in production

We are currently running a standalone docker version of ArangoDB in a cloud environment, as well as using a Foxx microservice to provide oauth2-based user token access to our Apollo Server GraphQL API, which in turn uses the (most excellent!) ArangoJS driver for database access.

I’ve performed several upgrades of this instance, Foxx microservice deployments and dataset migrations across versioned collections and databases as the API involved. So far these operations have been straightforward and relatively easy, which gives me confidence that investing in a subscription and coupling with more capabilities will be worthwhile.

Importance of key characteristics

Factor not important important very important
Performance x
Cluster x
Documentation x
Active community x
Price x
Feature set
Multi-model x
AQL / JOINs x
Foxx Microservices x

A very big thanks to Michael for taking the time to share his experiences with the community!

Do you like ArangoDB?
icon-githubStar this project on GitHub.
close-link