Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Users Table Laravel Package

baks-dev/users-table

BaksDev UsersTable is a user timekeeping and attendance module for PHP 8.4+ projects. Install via Composer, publish assets, and apply Doctrine migrations to get started. Test with PHPUnit using the users-table group. MIT licensed.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

The packaged evidence contradicts the framing in the secondary assessment documents. The README is a 20-line, Russian-language note describing a "модуль табельного учета пользователя" (user timesheet/attendance module) and gives install steps via php bin/console baks:assets:install, doctrine:migrations:diff, and doctrine:migrations:migrate. That is the Symfony Console and Doctrine ORM, not Artisan and Eloquent. There is no artisan invocation, no service provider, no facade, and no Eloquent model anywhere in the primary source. The Laravel-flavoured snippets in assessment-laravel_dev.md (UsersTable::recordAttendance(...), app/Models/UserAttendance.php, php artisan vendor:publish) are not corroborated by the repository and should be treated as speculative, not as an API contract.

Architecturally, this is a domain module inside the broader baks-dev package constellation (users, core, assets), designed to bolt onto an existing user entity inside a Symfony monolith using Doctrine. It fits that shape cleanly and poorly fits anything else.

Integration feasibility

  • Symfony + Doctrine monolith already using baks-dev/users: feasible. Install, publish assets, generate and review the migration, wire the module to your user identifier type.
  • Symfony + Doctrine on a vanilla user entity: feasible but likely requires the upstream baks-dev/users package and its identifier conventions. Verify the hard dependency graph before committing.
  • Laravel/Eloquent: low feasibility. Doctrine migrations in a Laravel app are possible (doctrine/dbal, community migration bridges) but you would be running two ORMs and two migration histories against one schema. The facade examples cannot be assumed to exist; there is no published Laravel service provider to publish.
  • Anything else: not applicable.

Technical risk

Risk Severity Notes / mitigation
Framework mismatch with the stated "Laravel package" framing High Verify on a throwaway Symfony install first. Do not plan Laravel work against unverified facade docs.
Bus factor / abandonment High 0 stars, 0 dependents, single release tag (v7.4.3), one maintainer. Fork and vendor on day one.
Undocumented schema and public API High No API docs, no changelog beyond a version-stub release note. Reverse-engineer entities and migration SQL before estimating.
Supply chain / provenance Medium MIT license is permissive, but run composer audit, pin an exact version and commit hash, and confirm the Packagist publisher identity.
Metadata integrity Medium The stated last-release date (2026-06-01) is not independently verifiable from the supplied evidence; confirm against Packagist before planning around it.
Personal data exposure Medium Timesheet data is employee personal data. Confirm retention, deletion, and export paths exist or plan to build them (GDPR / local labour-law obligations).
PHP 8.4 floor Low–Medium Forces your runtime forward; fine on new builds, disruptive on an existing 8.2/8.3 fleet.

Key questions

  1. Does the package hard-require baks-dev/users and baks-dev/core, and if so, what versions and identifier types (bigint vs UUID)?
  2. Is there any public, stable API surface, or is all usage direct entity manipulation?
  3. Are entities final? Can they be extended or overridden without forking?
  4. Does the schema support multi-tenancy, or does it assume a single-tenant user table?
  5. What is the maintenance commitment — is the maintainer responsive, and is there CI?
  6. Is the Laravel support claim in the secondary docs sourced from anywhere real?
  7. What is the data-retention and deletion story for attendance records?

Integration Approach

Stack fit

Target: PHP 8.4+, Symfony 6.4/7.x, Doctrine ORM, Twig asset pipeline. Laravel fit is contingent on adding doctrine/dbal plus a bridging layer, and the cost/benefit is poor for a 0-star, 0-dependant package. Recommendation: pursue only on a Symfony/Doctrine stack, and only as a time-boxed spike before any commitment.

Migration path

  1. Sandbox install in a throwaway app: composer require baks-dev/users-table, then php bin/console baks:assets:install.
  2. Run doctrine:migrations:diff and read the generated SQL before executing it — this is the only reliable view of the schema you are about to inherit.
  3. Check for collisions with your existing users table: foreign key types, index names, column naming conventions.
  4. Replay the migration against a staging snapshot of the real database, not an empty one.
  5. Only then evaluate attaching to real user records and confirming a write/read round-trip.

Compatibility

Confirm supported RDBMS (MySQL vs PostgreSQL), user-identifier type, and whether the asset installer assumes a specific Twig/webpack layout. Timezone handling for recorded timestamps must be verified explicitly — the secondary docs claim a UTC default with a config override, but that is unverified against source. Multi-tenancy is assumed absent until proven otherwise.

Sequencing

Do not run this concurrently with a framework or PHP upgrade. Order: (a) framework-fit spike, (b) schema review and collision test, (c) user-entity attachment, (d) data round-trip with timezone assertions, (e) hardened fork with your own tests, (f) production integration behind a feature flag. Any failure at (a) or (b) is a stop signal, not a workaround prompt.

Operational Impact

Maintenance

You will own this code. With 0 stars, 0 dependents and a single release tag, there is no community to absorb upgrades and no realistic expectation of timely upstream fixes. Budget an immediate fork-and-vendor step, plus roughly 0.2–0.5 FTE for the first quarter to add tests, document the schema, and close the gaps the README does not cover. Every future PHP or Symfony major upgrade becomes your problem, not the maintainer's.

Support

No commercial support, no evidenced issue-tracker activity, no English documentation. Someone on the team must read Russian or you must budget translation of the README and inline docblocks. Escalation path is "read the source."

Scaling

Timesheet tables grow as headcount × working days, which is predictable but monotonic. Index on (user_id, date) from the start, pre-aggregate reporting queries rather than scanning raw records, and plan periodic archiving of closed periods (older than the statutory retention window) from day one rather than retrofitting it.

Failure modes

  • Migration collision on a shared users table → deploy-time failure, potentially destructive if --force is used.
  • Schema drift if the upstream baks-dev packages move and this module lags.
  • Timezone/DST errors in recorded timestamps → incorrect hours → payroll disputes and reconciliation work.
  • Data loss from migrate:fresh in an environment where the seeded/real data assumption is wrong.
  • Dead-end abandonment — the package stops receiving updates and blocks your next framework upgrade.
  • PII handling gaps — no documented retention or deletion path, creating compliance exposure.

Ramp-up

One to two engineer-days to get a sandbox install and read the generated schema. One to two weeks to production-readiness on a Symfony/Doctrine stack, including the fork, tests, and timezone verification. Add several weeks and meaningful risk if a Laravel adapter is genuinely required. Recommend a strict time-box on the spike; if the schema review or user-entity attachment does not come clean within it, the correct decision is to build the timesheet domain in-house — the surface area here is small enough that owning it is cheaper than inheriting an unmaintained dependency.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator