René Cano
All projects

No. 5Built for CESVI México

CESVI RAT

Accident reconstruction database · CESVI México

My role
Database coordinator · team of 6
Period
Feb – Apr 2026

The problem

CESVI México's accident experts recorded measurements on paper, ran calculations in spreadsheets and had no single system to look up cases. The RAT module (Reconstrucción y Análisis de Tránsito, traffic accident reconstruction and analysis) had to cover the whole workflow, from the scene survey to the final report, inside the base platform CESVI already uses.

What I built

I was the database coordinator on a team of 6 (28 of the project's 132 commits). My work was the data layer:

  • The 54-table schema across 7 functional groups: 3 infrastructure, 1 for the AI module, 1 expert profile, 27 catalogs, 3 McHenry technical tables, 15 transactional tables (from incident to report) and 4 for the template system.
  • Evolving the model through versions as the requirements became clear: 51 tables in the first, 49 in v1.1, 51 in v1.3 and 54 in v1.4.
  • A 969-line SQL script for MySQL 8.0+ with InnoDB, foreign keys and seeded catalogs.
  • 6 migrations that create the 54 tables, plus the Eloquent models. 50 of my 54 models and 3 of my 4 controllers made it unchanged into the team's backend, including the step-by-step case intake.
  • The v1.4 data dictionary and the technical documentation for each version, so backend, frontend and client worked from the same model.

Architecture

Data model diagram: the team's React frontend calls a Lumen API with Eloquent; the API works over 7 groups of tables: infrastructure (3), AI module (1), expert profile (1), catalogs (27), McHenry technical tables (3), transactional tables from incident to report (15) and templates (4); the infrastructure group relies on the users table of CESVI's base platform.

Results

There are no usage metrics: the deliverable was the data model and its documentation. What can be checked is that the schema and dictionary are in the repository and that the team's backend uses my migrations and models.

Known limits

  • The schema includes the A/B stiffness table by McHenry category and an endpoint to query it, but the coefficients aren't seeded and the backend doesn't compute speed. That was outside the delivered scope.
  • The project has no tests of its own, no CI and no deployment, and the main README is a template.

Links