Internal tool

Book Management System.

A local book-management dashboard with role-based access, append-only audit history, and live notifications.

Source on GitHub

Context & scope

Managing book records is only part of the workflow. Changes also need clear authorization, a dependable history, and timely feedback. Books can be created, updated, and soft-deleted; admins and superadmins manage books and view history, while only superadmins can list users.

Approach

The Vue dashboard calls a versioned Laravel API. Laravel owns users and books, then publishes committed book changes to Redis Streams. A separate audit service stores each event and notifies connected dashboards through Socket.IO.

Key decisions

Laravel is the single security authority: Sanctum issues and validates tokens, and Policies enforce access. Redis Streams keeps audit work separate from book writes; unique event IDs make retries safe. Each service accesses only its own MySQL database.

System design

Book changes flow through Laravel and Redis to the audit service, which notifies the dashboard.

Result

Authorized users can manage books and inspect their history. A change produces one audit record despite retries, then reaches connected dashboards after it is stored.

Technologies

Laravel Vue.js Node.js TypeScript Redis
Back to projects →