You are on page 1of 3

FROM TITLE

Luca Daniel

Backend
Founder

DATE

MONDAY
Assignment
07 NOV 2022

INTRO

This document describes the assignment for any


backend based role in Aguadulce.

ADDRESS

Aguadulce Technologies

SD1-398, Building 16
Ground floor
Dubai Internet City
Dubai
License No. 97890

CONTACT DETAILS

+971 585301204
Luca Yesupatham Daniel

www.aguadulcehq.com

Boutique
Development
Studio
1

🎯 Goal
In this assignment, you will be setting up a machine that runs a node server that syncs with the VeChain
Thor testnet.

Here are a few reference links to get you started, in case you are not familiar with the blockchain space
or VeChain Thor:

● https://docs.vechain.org/thor/learn/
● https://docs.vechain.org/others/development-resources.html

You can use any language to implement this assignment. We prefer Rust, Ruby, Python or JavaScript

💼 Brief
as that is what we use the most internally.

Your node should be synced with the VeChain Thor testnet (Insight, Testnet Explorer). In case of restart,
it should start at login (with no manual intervention). It should be fault tolerant which means if the vechain
process crashes, it should get restarted automatically.

There should be a REST endpoint exposed, which can send an X amount to an address. Direct RPC
endpoints should not be exposed; you'll need to set up another small application which will interact with
the node via RPC call.

You should build a small UI with React.js that interacts with your server. It doesn’t need to be pretty, a
barebone UI will work but we appreciate good design at Aguadulce.

You should use Docker locally while developing and bonus points if you use it to deploy your application.

For the machine running your node, you can create a free tier AWS account. The VeChain node is
lightweight and can work on a t2.micro instance.

[bonus] The whole codebase should contain unit, integration and regression tests
[bonus] Set up a CI/CD pipeline that runs the tests and deploys from a specific branch your codebase to
the server
[bonus] Use TypeScript in your UI

No 3, 20th Main Rd, aguadulcehq.com


7th Block, Koramangala,
Bengaluru, Karnataka, IN560095
2

👩‍💻 Deliverables
● A git repo where we can see your codebase and how it evolved as you went through the
assignment

● A README on how to run your project in the repo

● A short Loom video where you explain how the development went, challenges you faced
and how you have tackled them

🕵️ Evaluation Criteria
● The URL to the instance where the application is deployed

● Code quality and following best practices (e.g. not checking the repo node_modules, using
dotenv, using a linter, etc.)

● We are looking for you to produce working code, with enough room to demonstrate how to
structure components in a small program.

● Show us your work through your commit history. Bonus points for well written commit
messages!

● Completeness: did you complete the assignment? Focus on nailing the assignment before
addressing bonus points

● Correctness: does the functionality act in sensible, thought-out ways?

● Maintainability: is it written in a clean, maintainable way?

Please organize, design, and document your code as if it were going into production - then push your
changes to the master branch.

All the best and happy coding. We are looking forward to working together!

No 3, 20th Main Rd, aguadulcehq.com


7th Block, Koramangala,
Bengaluru, Karnataka, IN560095

You might also like