Professional Documents
Culture Documents
Backend Assignment: Title
Backend Assignment: Title
Luca Daniel
Backend
Founder
DATE
MONDAY
Assignment
07 NOV 2022
INTRO
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
👩💻 Deliverables
● A git repo where we can see your codebase and how it evolved as you went through the
assignment
● 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
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!