Published 09/2025
Updated 10/2025

Tourist App API

# Building a Tourist App: A Journey into Backend Development **Date:** 11/2023 – Present **Role:** Developer --- ## ✨ Introduction In late 2023, I began an exciting journey into backend development th

Developper
12/2023 — 02/2024
Tourist App API

Introduction

In late 2023, I began an exciting journey into backend development through a project called the Tourist App. More than just a coding assignment, it became an opportunity to explore unfamiliar territories, learn new technologies, and collaborate across different levels of experience. I was fortunate to work under the guidance of a fifth-year senior in Computer Science at INSA Lyon, who introduced me to concepts I had never tackled before.

Team Members

Our team was a diverse blend of experience and backgrounds:

  • A senior student from the IF Department (project lead)
  • His cousin based in Vietnam
  • Another second-year student from INSA
  • And myself

Together, we tackled different components of the system with a shared goal of building a robust and scalable application.

My Role

I joined the project as a developer, and my primary focus was building the backend API for the Address service. At the time, I had minimal experience with Java and Spring Boot, but I was eager to dive in. This project gave me the perfect opportunity to step outside of my comfort zone and grow technically.

Project Architecture

The Tourist App was initially a monolithic application. However, as it evolved and features expanded, we faced growing pains that led us to rethink our approach. We then made a major shift toward a Microservices architecture, which allowed for better scalability, maintainability, and clearer service separation.

Some key highlights:

  • Kafka was used for inter-service communication and event-driven architecture.
  • We adopted a clean architecture style, promoting modular code and organized project structure across services.

Tools and Technologies

Here’s what we used to bring the Tourist App to life on the backend:

  • Java – Main programming language
  • Spring Boot – Core framework for building RESTful services
  • MyBatis – Lightweight persistence framework for managing database queries
  • PostgreSQL – Underlying database
  • JUnit – For writing automated tests

My Contributions

Partnering closely with another student, we were in charge of:

  • Designing and implementing APIs for the Address service
  • Writing unit tests and integration tests to validate business logic
  • Following clean architecture practices in organizing the service’s structure

Though Spring Boot felt overwhelming at first, I gradually learned how to manage controllers, services, and repositories, and how to work with DTOs, mappings, and custom queries.

Current Progress and Reflections

The project is still ongoing, but the growth I've experienced so far has been invaluable. Each week brings new challenges, and with each one, I feel more confident and skilled in my backend development journey.

Looking ahead, I’m excited to:

  • Complete the remaining services
  • Improve testing coverage
  • Explore containerization (Docker) and CI/CD

Conclusion

The Tourist App has become more than a project—it's a reflection of how far I've come in backend development. With supportive teammates and constant learning, I’ve transformed uncertainty into motivation and grown both technically and personally.

Thanks for reading!