The Challenge

arangodb-foxx-logoStarting today we launch the ArangoDB #FoxxChallenge and the winner will receive a brand new Amazon Echo.

Use your knowledge about everyday needs in projects and create a Foxx service that could be helpful for others. If you need some inspiration here some ideas:

  • enable role-based authorisation with Foxx: Such a service might include users and user-groups who have certain rights. The authentication via password or OAuth could be done separately to increase reusability for others
  • Foxx service for document-based permissions: Such a service could have an edge collection and connects users to certain permissions to manipulate the data.
  • Connected services: One could also build both services and by connecting them allow e.g. user groups to manipulate data (similar to Django)
  • A webhook service: a simple but useful service that throws documents into a certain collection
  • Voting service demo: Like a HackerNews voting logic. One could also create a service which offers a JS-API with which an edge collection can be generated to connect users to content (e.g likes)
  • We are really excited to see what other ideas come up in your minds!

For the winner

First price is a brand new Amazon Echo. But all of the participants will get a little something from the team! 🙂

How is the winner picked?

The winner will be picked by our Foxx team. We will take into account the usefulness of the Foxx service as well as the quality of code and service description.

How to participate?

Everyone can participate (of course ArangoDB employees are excluded). After creating your service and uploading it to your github repository, you can make a pull request to the official ArangoDB Foxx repository. Done.

Useful tips

  • Please note that it is always a good idea to use module.context.collection so that the collection names do not interfere with other services in the DB
  • To make services more testable we recommend extracting the data logic from routes into separate modules to allow testing that code directly rather than testing the routes

I’m new to Foxx but I want to participate

Great! Please find a first overview about Foxx here: https://www.arangodb.com/why-arangodb/foxx/ and a detailed description on how to work with Foxx here: https://docs.arangodb.com/3.1/Manual/Foxx/GettingStarted.html

If you have any questions join our #Foxx Channel on ArangoDB Community Slack: https://slack.arangodb.com/

Good luck and happy hacking!