nicolaskion/sde
SDE (Simple Data Encryption) is a lightweight Laravel/PHP package that provides simple helpers to encrypt and decrypt sensitive data, making it easy to secure application values with minimal configuration and a clean, developer-friendly API.
Architecture fit. SDE is a Laravel package that imports EVE Online's Static Data Export into a relational schema, exposing it through Eloquent models, DTOs, and artisan seeding commands. It fits naturally only if the product domain is EVE-adjacent (wormhole mapping, industry planning, killboard analytics, market tools). For a generic Laravel SaaS, it brings ~hundreds of MB of domain data and a large migration surface for no benefit. Fit must be validated against a concrete EVE data requirement before adoption.
Integration feasibility. Standard Composer install, service provider auto-discovery, publishable config/migrations, and artisan commands. v0.6.1 is a routine minor release: additive DTOs (type effects, dogma, entity DTOs), two new position2D fields on solar systems, a flags concept, plus fixes for Jove system data, download timeout, PHPStan level-max, and nullable Effect/EffectModifier DTO fields. No removals or deprecations announced, but pre-1.0 semver means additive-looking changes (nullable DTO fields, new columns) can still break typed consumers.
Technical risk.
EffectDto/EffectModifierDto is a concrete example of a silent contract change.Key questions.
position2D fields stable enough to build on, or should we code against our own adapter types?Stack fit. Requires Laravel with artisan command and migration support; verify composer.json constraints against our Laravel/PHP versions before committing. The package is data-layer only — it does not dictate application architecture, so it can sit behind a repository/facade boundary cleanly.
Migration path. Install into a dedicated database connection (not the primary app schema) to contain the large tables and to allow drop-and-reseed without touching transactional data. Publish config and migrations, run the seed commands inside a queued/isolated job, and expose only the models we need via our own read layer.
Compatibility. Pin the version exactly (0.6.1), not a caret range, given pre-1.0 semver. Wrap all DTO consumption in an anti-corruption layer so nullable-field changes like those in v0.6.1 are absorbed in one place. Assert the SDE build identifier at boot and fail fast if the seeded data version does not match what the application expects.
Sequencing.
position2D, types, effects/dogma) against a hand-checked sample.Maintenance. Expect to track upstream closely; a v0.7 or v1.0 will likely carry breaking changes. Budget recurring effort for version bumps and re-seeds, and treat the adapter layer as the containment boundary. The PHPStan/strict-types discipline lowers the cost of reading the source when debugging, which partially offsets the bus-factor risk.
Support. GitHub issues only, single maintainer, no commercial backing. Escalation path is "fork and patch." For anything business-critical, plan for the ability to vendor the fork — the codebase is small and static-analysis-clean, so this is realistic.
Scaling. The dominant cost is the seed job, not query load: large download, large insert volume, long transaction. Run seeds out-of-band on a worker with generous timeouts, never on web request or in a deploy hook. Read queries against indexed static tables scale fine. Full re-seed per SDE release is acceptable if refresh cadence is low (expansion-level), painful if we need daily deltas.
Failure modes.
Ramp-up. Low framework ramp-up, moderate domain ramp-up. Engineers need working knowledge of EVE's data model (systems, types, dogma effects, flags) to use the DTOs correctly, and must understand the seed/refresh lifecycle. Estimate a few days for a Laravel developer to be productive, plus a half-day of EVE-domain orientation. Pair the spike with a written runbook covering install, seed, refresh, and rollback.
How can I help you explore Laravel packages today?