This session will describe the developed software elements of our project.

Entry System Controller

This is the module’s main controller, and manages the execution of both the API and the turnstile controller in a concurrent manner. The overall workings are simple, as this only creates the multiprocessing setup with both processes and distributes the shared memory references to allow messaging. The controller was written in Python and Flask was used to handle the API messaging with the Management Web App.

Some highlights:

qr_opening.mp4

fingerprint_registering.mp4

Ticketing Web App

The ticketing web app was developed using React, all of the previously presented UI screens were implemented and can be seen in the video below.

2023-10-16 17-29-31.mkv

Management Web App

The management web app was also developed using react but this time using a Material Kit to develop the previously designed screens. A video showing the end result of the web app is available below. The app makes API calls.

2023-10-16 17-26-00.mkv

Management Web App API

The API was developed based on the previously designed API routes. It’s mainly composed of the admin authentication process, historic data reading, parameter changes and turnstile messaging. Most of it was reasonably smooth, but some features like the JWT management required some additional research so it was implemented correctly. Here’s a screenshot of the previously designed API routes.

Untitled

Ticketing Smart Contracts

The effective smart contracts that were planned, SimpleTicket and TicketRegistry were developed and are already deployed in the Arbitrum Goerli network. Tests were already made on them, including the ticketing web app.