/algo-carsharing-android

Smart Contract developed in PyTEAL, Android application implemented in Java to build a dApp for carpooling in Algorand Blockchain

Primary LanguageJava

Algorand Carsharing Android

Smart Contract developed in PyTeal to build a dApp for car sharing in Algorand Blockchain.
Application developed in Java.
Linked to Algorand Carsharing Python project.

This is a project developed for my Master's Degree in Computer Science.
Feel free to read the thesis if you want to achieve a better knowledge on the work done.

Requirements

Sandbox environment

In order to deploy any transaction on Algorand Blockchain you need first to set up an Algorand node.
You can easily set up an Algorand sandbox node following the official guide or following this tutorial.
The project version is v0.68

To start the Testnet sandbox:

  • ./sandbox up testnet

On testnet the indexer is not enabled, in order to use it you can switch on release sandbox:

  • ./sandbox up release

Note: a working indexer instance is required to use this application.

Account Setup

In order to use the application a valid Algorand Account must be provided.
You can generate a new account with goal CLI:

  • ./sandbox goal account new

Remember to fund the account if you're using a public network.
If you're using a private network you can export an already funded account in this way:

  • ./sandbox goal account list
  • ./sandbox goal account export -a {address}

Save the mnemonic and paste it on the Account section of the app to set the user.

Smart Contracts

The Smart Contracts already compiled are stored in the assets folder.
You can find the original PyTEAL version on the Python version.

Environment and dependencies

  • For this project an Android emulator with API 30 are used

Android Application

Application Overview

app_overview.mp4

Create a new trip

trip_create.mp4

Update a trip

trip_update.mp4

Delete a trip

trip_delete.mp4

Terminate a trip

trip_start.mp4

Join a trip

trip_join.mp4

Leave a trip

trip_leave.mp4