Firman Aprilian Sugiharto
Work

Tourism Management API

A Laravel REST API with a React frontend for managing tourism destinations and their images.

Category
Full-stack REST API
Stack
  • PHP
  • Laravel
  • React
  • MySQL
  • Eloquent
  • Sanctum
  • Axios
  • Bootstrap
Source
shiinobu/tourism-management-api

Overview

A full-stack application built with Laravel and React for managing tourism destinations through a REST API.

At a glance

  • Laravel REST API
  • CRUD tourism destination management
  • Request validation
  • Image upload and replacement
  • API Resource transformation
  • Laravel Sanctum authentication
  • Eloquent ORM
  • React API integration
  • Axios HTTP client
  • MySQL persistence

Problem and approach

Problem

Tourism content needs structured destination management and image handling behind a usable web interface.

Approach

A Laravel REST API with validation, authentication, image management and API Resources, connected to a React frontend for managing destinations.

Architecture

The React frontend talks to the Laravel API through Axios. Laravel handles authentication, validation, business operations and image management, and stores data in MySQL through Eloquent.

  1. React frontend

    The interface for managing destinations. It talks to the backend over HTTP.

  2. Axios

    Carries HTTP requests between the React frontend and the Laravel API.

    HTTP

  3. Laravel API

    Handles authentication, request validation, CRUD operations, API Resources and image management.

    REST

  4. Eloquent

    Relational data access between Laravel and MySQL.

  5. MySQL

    Stores destination and application data.

    SQL

Implementation

Laravel REST API
The backend exposes REST endpoints for managing destination data.
Request validation
Incoming requests are validated before data is created or updated.
Image management
Destination images can be uploaded and replaced.
API Resources
Laravel API Resources give the data returned to clients a consistent shape.
Authentication
Laravel Sanctum protects authenticated API operations.
React integration
The React frontend consumes the Laravel API through Axios and provides the management interface.

Notes

Challenges

  • Handling image upload and replacement
  • Keeping API validation and responses consistent
  • Connecting a React frontend to the Laravel API
  • Managing authenticated API access
  • Keeping frontend and backend responsibilities separate

Status

The React frontend consumes the Laravel API through Axios, and destination images can be uploaded and replaced.