← Back to Blog

Fadiel Project

December 15, 2020
LaravelVue.jsGoNode.jsExpress.jsMySQLDockerAWS S3

Fa'Diel is the name of the world in which the Mana series games take place. This project's goal was to build interchangeable API endpoints for a simple shop using PHP, JavaScript, and Go. Meaning the payload, response structure, validation, and authentication are identical across all three implementations so the admin panel never needs to change.

Shared characteristics across all APIs:

  • Images are uploaded to AWS S3.
  • JWT for authentication.
  • UUID v4 for table IDs.
  • Identical validation rules and error messages.
  • Identical request payloads and responses.

Golang API

  • Built with the Gin web framework.
  • Uses Gorp for database access.
Repository

Laravel API

  • Standard Laravel setup with Eloquent and built-in tools.
Repository

JavaScript API

  • Built on Node.js with the Express.js web framework.
  • Uses indicative for data validation.
  • Multer for file upload handling.
Repository

Vue Admin

This is the admin UI that consumes all three interchangeable APIs seamlessly.

Repository