For the front-end, we decided to have two separate front-end projects. One for IOS, and the other will be an actual website which will be supported universally across devices. This allows us to have some flexibility, for example IOS could be expanded to include push notifications as well as performance optimizations (albeit this application is lightweight).

Front-End IOS Technologies


Allows for reactive/functional programming in Swift.


A library for responsive UI design.


Library that sends HTTP requests to a server.

Front-End Website Technologies


Front-end framework

Ant UI

UI library that allows for lightweight yet clean minimalistic look.


Animation library that allows for element animation and transitions.


For the backend, we have a multitude of technologies used. The backend works by having a very small backend server whose only purpose is to create a smart contract and deploy it on the Ethereum node.

Back-End Technologies


Javascript runtime environment for running the multiple web and blockchain frameworks that compose our backend.

Truffle Suite

The javascript library for the compilation of smart contracts, and the simulation of ethereum blockchain for testing and demos. This allowed us to integrate the bytecode of our smart contacts in the backend of our website.


A web application framework for handling the requests that are sent from front end applications to the backend.


The ethereum smart contract language.


Library that deploys smart contracts from the backend to a specified ethereum node.

Checkout ECS 189F's homepage

This application was the term project for ECS 189F, a class about Distributed Ledgers at UC Davis.