francescoprisco/nova-mongodb
MongoDB integration for Laravel Nova: browse and manage MongoDB collections through Nova resources, with support for fields, filters, and searching backed by the official MongoDB Laravel package.
MongoDBResource base class (with regex search), automatic CRUD observer logging (ModelObserver → ActionEvent), and a Mongo-backed notification center. Estimate the alternative at several weeks of engineering plus ongoing Nova-upgrade maintenance; the buy case is strong if you need all three, weak if you need only one.ActionEvent + automatic observer registration on every MongoDB model gives you append-only CRUD history with near-zero integration work. Supports decisions on compliance evidence, support/debugging workflows ("what changed and who changed it"), and internal-vs-customer-facing activity feeds.NovaNotification, MongoNotifiable, and the six /nova-api/nova-notifications routes give read/unread state, read-all, and delete semantics out of the box. This is a roadmap accelerant for any "alert the ops team when X happens" requirement.HandlesMorphRelations is an explicit acknowledgement that polymorphic relations are the sharp edge of MongoDB + Eloquent. Its existence should inform (and de-risk) any decision to model comments, attachments, or activity targets polymorphically.MongoDBConnection's nested transaction handling is a meaningful enabler for product areas that need multi-document atomicity — but it also constrains deployment topology (see below), which is a product-visible infrastructure decision, not just an engineering one.Adopt when most of these hold:
mongodb/laravel-mongodb ^5.5.Look elsewhere or defer when:
Due diligence before committing: confirm license, test coverage, CI status, issue responsiveness, and whether the custom Nova API routes respect Nova's auth middleware; validate Lenses/Metrics/Filters against a real resource; verify replica-set requirement end-to-end in staging.
For executives (one paragraph): A new open-source package lets our Laravel admin panel run natively on MongoDB — including audit logging and staff notifications — without maintaining a separate SQL database. If we're building on MongoDB, this removes a database from our architecture and shortens time-to-admin-panel from weeks to days. The trade-off is dependency risk: it's a v1.0.0 from a single maintainer, so we should treat it as an internal-tooling accelerator, pin the version, and keep a fork option. Recommend a scoped pilot on one internal admin surface, not a platform-wide commitment.
For engineering (the ask): Evaluate against a real Nova resource in a spike. Confirm (1) Lenses, Metrics, Filters, and sorting behavior against MongoDB; (2) that the custom /nova-api/nova-notifications routes sit behind Nova's auth/authorization middleware; (3) replica-set requirement and nested-transaction behavior in staging; (4) observer registration strategy — global observers on all Mongo models have cost and blast-radius implications; (5) polymorphic relation coverage via HandlesMorphRelations. Then decide: adopt, adopt-and-fork, or cherry-pick the MongoDBResource base class and notification models without the connection/observer layers.
Bottom line for the roadmap: high leverage, low blast radius if scoped to internal admin and activity/notification plumbing; treat the custom MongoDBConnection (transaction semantics) and global observers as the two components requiring the most scrutiny, since they are the hardest to unwind later.
How can I help you explore Laravel packages today?