Delta Force Guide API

Backend API Overview

The backend is a Spring Boot 3 application organised under the base package com.onixbyte.deltaforceguide:

PackageDescription
controllerREST API endpoint controllers
serviceBusiness logic layer
repositoryMyBatis data access layer
domainJPA entity and domain objects
configSpring configuration (security, cache, etc.)
propertiesConfiguration property classes
enumerationEnumerated types
sharedShared utilities

API Endpoints

Authentication

MethodPathDescriptionAuth
POST/api/auth/loginLog in with credentialsNo
POST/api/auth/refreshRefresh access tokenNo
GET/api/auth/profileGet current user profileYes

Firearms

MethodPathDescription
GET/api/firearmsList firearms (paginated, filterable by type)
GET/api/firearms/:idGet firearm by ID
POST/api/firearmsCreate a new firearm
PUT/api/firearms/:idUpdate an existing firearm
DELETE/api/firearms/:idRemove a firearm

Modifications

MethodPathDescription
GET/api/modificationsList modifications (paginated, filterable by firearm and tags)
GET/api/modifications/:idGet modification by ID
POST/api/modificationsCreate a modification
POST/api/modifications/batchBatch create modifications
PUT/api/modifications/:idUpdate a modification
DELETE/api/modifications/:idRemove a modification
DELETE/api/modifications/batch-deleteBatch remove modifications

Tags

MethodPathDescription
GET/api/tagsList all tags

Frontend Routes

PathLayoutPageDescription
/Hero LayoutFirearms BrowserHome page — firearm list
/firearmsHero LayoutFirearms BrowserFirearm detail and search
/mod-codesHero LayoutModification CodesModification code library
/legalHero LayoutLegalLegal and privacy information
/loginEmpty LayoutLoginUser authentication page

Frontend State Management

Redux Toolkit with Redux Persist manages:

  • Auth state — Access tokens, refresh tokens, user profile
  • Settings state — User preferences persisted to local storage

API Client

The frontend uses a shared WebClient wrapper around Axios that handles:

  • Base URL configuration (pointing to the backend API)
  • JWT access token injection via request interceptors
  • Automatic token refresh on 401 responses

Infrastructure

ComponentTechnology
DatabasePostgreSQL (with Flyway migrations)
CacheRedis (session/token storage)
File StorageAWS S3 (firearm images)
ContainerisationDocker
DeploymentDocker Compose behind Nginx