Home Projects Experience Publications Contact Resume

Bron24

Backend Internship
Internship Project Active Development
Type:
Backend Developer Internship
Company:
Bron24
Location:
Tashkent, Uzbekistan 'Uz 🇺🇿
Role:
Backend Developer Intern
Table of Contents

Current Status

The Stadium Booking System is actively being developed as a production-oriented platform for Bron24, a startup based in Tashkent, Uzbekistan.

During my backend development internship, I worked on building and improving backend services responsible for stadium discovery, booking management, authentication, authorization, and scalable REST APIs.

The platform is evolving beyond a traditional booking application by introducing social-media-inspired capabilities that allow users to discover venues, share experiences, interact with communities, and receive personalized recommendations alongside secure stadium reservations.

The backend architecture uses Java, Spring Boot, Spring Security, JWT, Hibernate, and PostgreSQL, with ongoing improvements toward real-time notifications, digital payments, analytics, multilingual support, AI-powered recommendations, and cloud-ready deployment.

Problem

Traditional stadium booking systems often depend on manual scheduling or disconnected platforms. This can lead to double bookings, inefficient reservation management, delayed confirmations, and an inconsistent user experience.

Limited availability tracking and the absence of centralized authentication can further reduce the reliability and security of the booking process.

The objective was to develop a centralized backend platform that supports secure authentication, real-time availability, online booking management, payment integration, and scalable REST APIs.

Technical Decisions

1. Spring Boot Architecture

Adopted a modular Spring Boot architecture using Controller, Service, and Repository layers to improve maintainability, scalability, and separation of concerns.

2. Stateless Security with JWT

Implemented Spring Security and JWT-based authentication to provide stateless authentication and role-based access control across protected REST APIs.

3. Database Design

Designed relational database structures using PostgreSQL, Spring Data JPA, and Hibernate for users, stadiums, bookings, schedules, payments, and transaction information.

4. REST API Development

Developed RESTful backend endpoints for frontend and external integrations while maintaining structured request validation, authentication, authorization, and error handling.

5. Docker & Development Workflow

Used Docker for application containerization and Git/GitHub for collaborative development, source control, and deployment workflows.

Why?

The project was initiated to modernize traditional stadium reservations by replacing manual booking workflows with a secure, scalable, and digitally managed platform.

Objective of the Project

The objective is to build an enterprise-grade stadium booking platform using Java, Spring Boot, Spring Security, JWT, Hibernate, and PostgreSQL while creating a foundation for future social networking features, AI-driven recommendations, and multi-region deployment.

Challenges & Mistakes Encountered

Double Booking Due to Concurrent Requests

What Happened

Multiple users attempting to reserve the same stadium slot simultaneously could potentially result in duplicate reservations.

Initial Assumption

The initial assumption was that the issue could be related to delayed frontend updates or client-side caching.

Investigation

Backend request tracing and database transaction analysis showed that concurrent requests could reach the booking logic before the reservation state was fully committed.

Root Cause

The booking workflow required stronger transaction management and concurrency control to ensure that the same slot could not be reserved multiple times.

Solution | Lesson

Transactional booking logic and database-level concurrency mechanisms were introduced to maintain atomic reservation operations. The major lesson was that high-concurrency booking systems require careful transaction management and data consistency mechanisms.

JWT Authentication & Role-Based Access Issues

What Happened

Authenticated users could encounter 401 Unauthorized or 403 Forbidden responses when accessing protected APIs.

Initial Assumption

The issue was initially suspected to be caused by expired JWT tokens or incorrect request headers.

Investigation

Spring Security filter chains, JWT claims, user roles, and authorization mappings were analyzed to identify inconsistencies.

Root Cause

Database roles were not always mapped consistently to Spring Security authorities, causing valid users to fail authorization checks.

Solution | Lesson

The authentication pipeline was improved by standardizing role mapping, validating JWT claims, and configuring role-based authorization consistently.

Debugging Case #1

Booking Conflict Under Concurrent Requests

Problem

Users booking the same stadium slot simultaneously could result in duplicate reservation attempts during high traffic.

Investigation

API logs, transaction history, and concurrent request traces were analyzed to identify race conditions.

Root Cause

The booking workflow required stronger transaction isolation and database locking.

Fix

Transactional booking logic and database locking strategies were introduced to ensure atomic slot allocation.

Lesson

High-concurrency applications require robust transaction management and consistency controls.

Debugging Case #2

JWT Authentication Failure

Problem

After successful login, some users could encounter 401 or 403 errors while accessing protected APIs.

First Solution

The authentication flow was reviewed, including token generation, validation, request headers, and role authorization.

New Edge Case

Users with different roles such as Admin, User, and Stadium Owner could be denied access because of inconsistent authority mapping.

Final Solution

The authentication workflow was improved by standardizing JWT claims, implementing a custom UserDetailsService, and correctly mapping database roles to Spring Security authorities.

Integration testing was also performed for authentication and authorization flows including expired tokens, invalid tokens, and role-specific access.

Lesson

Secure authentication depends not only on valid JWT tokens but also on consistent role mapping, authorization policies, and comprehensive security testing.

Limitations

1. High Concurrent Traffic

Additional infrastructure such as Redis, Kafka, load balancing, and horizontal scaling may be required to efficiently support very large numbers of simultaneous requests.

2. Payment Gateway Dependency

Booking confirmations can depend on the availability and reliability of third-party payment providers.

3. Limited Offline Support

The platform currently requires a stable internet connection and does not provide a complete offline booking and synchronization system.

4. Regional Expansion

International deployment requires additional localization, multi-currency, timezone, and compliance support.

5. Notification Infrastructure

Real-time notifications can be further enhanced through event-driven messaging infrastructure for instant booking updates and reminders.

Impact

The Stadium Booking System transforms traditional reservation workflows into a secure and automated digital platform, reducing manual scheduling effort while improving booking accuracy and operational efficiency.

By using Java, Spring Boot, Spring Security, JWT, Hibernate, and PostgreSQL, the project establishes a scalable backend foundation for authentication, booking management, payment integration, and future platform expansion.

Working on the project strengthened my practical experience in backend engineering, REST API development, authentication and authorization, database design, system architecture, debugging, Git workflows, and collaborative development within a startup environment.

Future Vision

1. AI-Powered Recommendations

Integrate AI to recommend stadiums, optimal time slots, and personalized sports activities based on user preferences and booking history.

2. Real-Time Ecosystem

Implement live slot availability, instant notifications, chat, and location-based discovery to create a dynamic booking experience.

3. Smart Payments & Analytics

Expand payment capabilities with multi-currency support, subscription plans, booking analytics, and revenue dashboards for stadium owners.

4. Cloud-Native Scalability

Progress toward microservices and cloud-native infrastructure using technologies such as Docker, Kubernetes, Redis, and managed cloud services.

5. Global Expansion

Expand Bron24 into a global sports-tech platform across Europe, the Middle East, and Southeast Asia through multi-region deployment, localization, international payment gateways, timezone-aware booking, multilingual support, and region-specific compliance.

Technologies Used

Java Java 21 Spring Boot Spring Security JWT Spring Data JPA Hibernate REST API PostgreSQL Redis AWS EC2 AWS RDS AWS S3 Docker Nginx Stripe API Maven Git GitHub Postman Swagger / OpenAPI