How dalouuu/distributed-database-system-stadvdb works
GameVault is a React dashboard backed by an Express API and a three-node MySQL deployment. Users browse CRUD, search, and reporting views; requests pass through the API to a distributed coordinator that routes queries and manages master writes and fragment replication. The coordinator, database adapter, replication log, and API routes are sampled; several page and report modules are indexed but not excerpted, so their UI-to-service links rely on the index. The Flask prototype is outside the documented primary runtime.
Main entry points: App.js Route dispatcher · coordinator.js Query and write coordinator · api.js HTTP client · pages CRUD views
Components 17
Web application
- Home dashboard
frontend/src/pages/HomePage.js - Route dispatcher
frontend/src/App.js - CRUD views
frontend/src/pages - Search view
frontend/src/pages/SearchPage.js - Analytics reports
frontend/src/pages - Record entry form
frontend/src/components/AddPanel.js - Node selector
frontend/src/components/SearchInputs.js - Record table
frontend/src/components/TableComponent.js - Home navigation
frontend/src/components/HomeButton.js - HTTP client
frontend/src/services/api.js
API and coordination
- Express API
backend/server2.js - Query and write coordinator
backend/coordinator.js
Replication and storage
- Database adapter
backend/db.js - Replication queue
backend/replicationLog.js - Queue persistence
backend/logs/replication_queue.json - Three MySQL nodes
Other components
- GameVault user
Connections 24
- GameVault user → Route dispatcher: uses
README.md - Route dispatcher → Home dashboard: routes to
frontend/src/App.js - Route dispatcher → CRUD views: routes to
frontend/src/App.js - Route dispatcher → Search view: routes to
frontend/src/App.js - Route dispatcher → Analytics reports: routes to
frontend/src/App.js - Home dashboard → HTTP client: checks node
frontend/src/pages/HomePage.js - CRUD views → Record entry form: renders
frontend/src/pages/AddPage.js - CRUD views → Record table: renders
frontend/src/pages/DeletePage.js - CRUD views → HTTP client: loads records
frontend/src/pages/DeletePage.js - Search view → HTTP client: executes query
frontend/src/pages/SearchPage.js - Search view → Record table: shows results
- Analytics reports → Node selector: accepts filters
frontend/src/pages/Report1.js - Analytics reports → HTTP client: requests reports
frontend/src/pages/Report1.js - Node selector → Express API: switches node
frontend/src/components/SearchInputs.js - HTTP client → Express API: sends HTTP
frontend/src/services/api.js - Express API → Query and write coordinator: dispatches requests
backend/server2.js - Query and write coordinator → Database adapter: queries nodes
backend/coordinator.js - Query and write coordinator → Replication queue: records replication
backend/coordinator.js - Replication queue → Database adapter: reads and updates log
backend/replicationLog.js - Replication queue → Queue persistence: persists queue
backend/replicationLog.js - Database adapter → Three MySQL nodes: connects and transacts
README.md - Query and write coordinator → Three MySQL nodes: routes fragments
README.md - Express API → Query and write coordinator: replays on recovery
backend/server2.js - Home dashboard → Home navigation: offers navigation