Katakumba

Developing a mobile POS app for a club and events venue.

Overview

For the Katakumba club and events venue, I was tasked with developing an end-to-end point of sale application that would enhance the customer experience during payment transactions. The primary goal was to create a user-friendly payment interface for employees to handle payments at bars and other customer-facing scenarios. The application also needed to be easily manageable post-development. Additionally, an offline capability was required to accommodate areas within the venue with no network connection. The client already had a preferred payment system, so no payment API integration was necessary.

Outcome

Over a span of two months, I designed and developed the project. To meet the requirements, I utilized Ruby on Rails for the backend API and created an admin management web app platform. For the point of sale functionality, I built a nested React Native application specifically tailored for tablets. Backend authentication was implemented using the Devise gem and Doorkeeper for authentication tokens. Pundit was used for authorization in the web app, ensuring that only admins could manage settings and accounts. To enable offline functionality, I implemented API requests as background tasks and utilized Redux Persist with asyncStorage to persist data and manage states even when the app was closed or the device restarted.

Check out the project here →

Key Take Aways

This project provided an opportunity for me to learn and successfully implement React Native, expanding my skill set. It was a rewarding experience to acquire new skills and apply them to a real-world project. I gained valuable insights into working with APIs and state management libraries. Going forward, I am excited to continue utilizing Ruby, JavaScript, Rails, and React to develop exceptional products.