AS
Back to projects
Backend / API

Smart Tourism App Backend

Backend Developer · Oct 2024 — Jul 2025

Private / Client project
Smart Tourism App Backend — live screenshot
Spring BootPostgreSQLDockerREST APIsJWTRender

Overview

This project is the backend engine behind a smart tourism experience: tourists tap NFC tags at monuments to unlock content, book guided experiences, and purchase from an in-app store. I designed and built the entire backend infrastructure, from the API layer down to deployment.

The Problem

The app needed a backend that could reliably identify NFC tag interactions, tie them to specific monuments and content, handle booking flows with real availability constraints, and support in-app purchases — all secured and performant enough for a public-facing mobile app.

The Solution

I built RESTful APIs around three core domains — NFC monument interactions, bookings, and the in-app store — backed by a PostgreSQL schema designed for relational integrity between locations, bookings, and users. JWT-based authentication and authorization protects every endpoint, and the service is containerized with Docker for consistent deployment.

Architecture

Spring Boot service layer with a clean separation between controllers, services, and repositories; PostgreSQL for relational data; Docker for containerization; deployed to Render Cloud with documented CI-friendly build steps.

Challenges & how I solved them

Modeling NFC interactions cleanly

Each tag scan needed to map to monument metadata, content, and (optionally) a booking context. I modeled this as a distinct domain rather than bolting it onto the booking system, which kept both systems easier to reason about independently.

Database performance under relational load

Bookings, monuments, and store transactions all interrelate. I optimized query paths and indexing so common reads (nearby monuments, active bookings) stayed fast as data volume grew.

Key features

NFC monument interactions

APIs that resolve a tag scan into monument content in real time.

Booking system

End-to-end booking flow with availability and confirmation handling.

In-app store

Purchase flow for tourism add-ons and merchandise.

JWT authentication

Stateless auth and authorization across all endpoints.

Cloud deployment

Containerized and deployed to Render with documented architecture and API docs.

Screenshots

Smart Tourism App Backend screenshot 1
Smart Tourism App Backend screenshot 2

Future improvements

  • Add caching layer for high-traffic monument lookups
  • Support offline-first booking sync for low-connectivity areas
  • Expand analytics on tourist interaction patterns

Let's build something reliable together

I'm currently open to Backend, Full-Stack, and PHP Developer roles. If you need someone who cares about clean architecture as much as shipping fast, let's talk.