Skip to main content

ServITech Backend API

A powerful Laravel 12 REST API for managing tech and anime article quotations, support requests, and repair services. Built for the Mobile Platform Design and Programming course at Universidad Nacional de Costa Rica.

What is ServITech?

ServITech is a comprehensive backend API designed to power mobile and web applications for managing:
  • Article Quotations — Browse and manage tech and anime product catalogs
  • Support Requests — Track and manage customer support tickets
  • Repair Services — Handle repair request workflows (admin-only)
  • User Management — JWT-based authentication with role-based access control

Quick Start

Get your development environment up and running in minutes

API Reference

Explore all available endpoints and their specifications

Authentication

Learn how JWT authentication and authorization work

Development Guides

Best practices for development, testing, and deployment

Key Features

JWT Authentication

Secure token-based authentication with configurable expiration and refresh tokens

Role-Based Access

Three-tier permission system with User, Employee, and Admin roles using Spatie Laravel Permission

Multi-Language Support

Built-in localization for Spanish and English with automatic language detection

RESTful API

Clean, predictable endpoints following REST conventions with consistent response formats

Auto-Generated Docs

Interactive API documentation powered by Scramble with live examples

Image Management

Upload and manage product images with automatic storage handling

Technology Stack

ServITech is built with modern, production-ready technologies:
  • Laravel 12 — Latest version of the PHP framework
  • PHP 8.2+ — Modern PHP with type safety and performance improvements
  • JWT Auth — Token-based authentication using tymon/jwt-auth
  • Spatie Permissions — Powerful role and permission management
  • Scramble — Automatic API documentation generation
  • MySQL/SQLite — Flexible database support for development and production

Quick Example

Here’s a simple example of authenticating and fetching articles:
# Login to get JWT token
curl -X POST https://api.example.com/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "password"
  }'

# Use token to fetch articles
curl -X GET https://api.example.com/articles \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Accept-Language: en"

Next Steps

1

Install Dependencies

Set up your local development environment with PHP, Composer, and MySQLInstallation Guide →
2

Run the API

Start the development server and explore the auto-generated API documentationQuick Start →
3

Explore Endpoints

Learn about available endpoints, request/response formats, and authenticationAPI Reference →

Project Context

This project was developed as part of the Diseño y Programación de Plataformas Móviles (Mobile Platform Design and Programming) course at Universidad Nacional de Costa Rica during the first academic cycle of 2025. The backend serves a companion Android mobile application built with Kotlin. The frontend repository can be found at ServITech-Frontend.
This is an educational project created for university coursework. It demonstrates best practices in API design, authentication, authorization, and Laravel development.

Getting Help

GitHub Repository

View source code, report issues, and contribute

API Documentation

Access the live Scramble documentation at /docs/api

Build docs developers (and LLMs) love