Preview and map the file
Users select the header row, review sample data, and connect each Excel column to the correct platform field through a visual workspace.
I built a Laravel and React workspace that lets users connect different Excel formats to one data model, validate configurations, and reuse approved mappings for future uploads.
Customer files used different column names, layouts, and value formats. Building a separate importer for every format slowed onboarding, required developer support, and made changes difficult to maintain.
Users select the header row, review sample data, and connect each Excel column to the correct platform field through a visual workspace.
Required fields, data types, countries, dates, units, relationships, defaults, and duplicate mappings are checked before large datasets are processed.
Mappings move through draft, published, archived, and historical states, allowing a new version to be prepared without changing the active configuration.
A guided update compares new headers with the existing mapping, identifies added or removed columns, and keeps production uploads on the published version until approval.
Company-level permissions keep mappings separated between organizations. Edit locks prevent two users from changing the same draft, while published and historical versions remain protected from accidental updates.
Large-file analysis runs through Laravel queues. Private WebSocket events notify the React interface when processing finishes, giving users immediate feedback without repeatedly polling the server.
A reusable import system needs more than matching column names. Validation, version history, permissions, background processing, and a clear interface make the configuration safe for non-technical users.
PHP, Laravel, React, TypeScript, Inertia.js, PostgreSQL, Laravel Queues, WebSockets, Amazon S3, Laravel Vapor, Pest, and PHPUnit.