ghostcompiler
currency-api-dashboard
TypeScriptโœจ New

Modern currency exchange rate dashboard with real-time market data, conversion tools, analytics, historical trends, and responsive admin interface.

Last updated Jul 6, 2026
18
Stars
1
Forks
0
Issues
0
Stars/day
Attention Score
54
Language breakdown
TypeScript 59.8%
PHP 37.6%
CSS 1.2%
JavaScript 0.8%
Blade 0.6%
โ–ธ Files click to expand
README

Ghost Compiler

Currency API Dashboard

A premium, high-performance developer currency exchange rate platform built on Laravel 13, React 19, and Redis.

Laravel PHP React Inertia.js SSH Ghost Compiler


๐ŸŒ Overview

ghostcompiler-api is a complete developer API and dashboard solution modeled after Open Exchange Rates. The application pulls and processes daily international currency values for over 150 countries, optimizes performance using high-speed Redis database caching, logs query analytics, and exports developer API credentials.

Key Features

  • Secure API Tokens: Full CRUD token lifecycle manager inside the developer panel. Custom base fallback currencies (defaults to INR system-wide).
  • Daily Sync Engine: Automated daily command retrieves live values and updates local metadata (currencies, countries, names, rates).
  • Redis Caching: Cached endpoint metrics reduce database queries and ensure sub-10ms response times.
  • Sleek Developer Landing Page: Beautiful dark mode interface complete with Framer Motion animations, live guest conversion widgets, and code sample highlights.
  • Scalar Reference Docs: Interactive API documentation served at /docs with Scalar's modern dark theme UI, complete with Bearer Try-it-out options.

๐Ÿ› ๏ธ Technology Stack

  • Framework: Laravel 13.x (PHP 8.5)
  • Client: React 19.x (InertiaJS v3)
  • Styling: TailwindCSS v4 with Shadcn theme variables
  • Cache: Redis (via predis driver)
  • Database: PostgreSQL
  • Docs UI: Scalar UI via CDN + /public/openapi.json
  • Test Suite: Pest PHP

๐Ÿ“‚ API Reference Endpoints

All API endpoints are prefixed with /api/v1 and require your token provided inside the header: Authorization: Bearer <your_token>.

1. Authorize / Validate Token

  • Route: GET /api/v1/authorize
  • Description: Validates that a key is active and returns metadata.

2. Get Rates by Token Default Currency

  • Route: GET /api/v1
  • Description: Returns active exchange rates relative to the token's configured base currency (falls back to INR).

3. Get Rates by Custom Base

  • Route: GET /api/v1/{code}
  • Description: Returns active exchange rates relative to the {code} base currency.

4. Convert Currency

  • Route: POST /api/v1/{from}/{to}
  • Request Body: {"amount": 100}
  • Description: Converts a specific amount from {from} to {to}.

๐Ÿš€ Getting Started

1. Requirements

Ensure you have PHP 8.5+, Composer, Node.js 18+, Redis, and PostgreSQL running on your machine.

2. Install Dependencies

composer install
npm install

3. Environment Setup

Copy .env.example to .env and configure your database and Redis connections:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DBDATABASE=currencydb
DB_USERNAME=postgres
DB_PASSWORD=secret

REDIS_CLIENT=predis REDIS_HOST=127.0.0.1 REDIS_PORT=6379

[!TIP]
To sync live exchange rates, you must configure your Open Exchange Rates app credentials. You can register and generate an API access token by visiting Open Exchange Rates Signup & Key Generator.

4. Database Migrations

php artisan migrate

5. Generate Route Definitions

Ensure Wayfinder compiles route types:
npm run build

6. Run Sync Command

Sync currencies and rates from providers:
php artisan app:sync-currencies

7. Run Server

Start the concurrent servers (Laravel development server + Vite dev watcher):
npm run dev

๐Ÿงช Testing and Formatting

To verify the features remain stable, execute feature assertions:
php artisan test --compact

Format modified PHP files before committing:

vendor/bin/pint --dirty --format agent


โš™๏ธ Repository Details

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท ghostcompiler/currency-api-dashboard ยท Updated daily from GitHub