sheikhheera/requent
Requent is a Laravel package for building recurring events and schedules. Define recurrence rules once, then generate upcoming occurrences, check whether a given date matches, and integrate seamlessly with Eloquent models and your existing application.
composer require sheikhheera/requent. The package was last tagged in June 2017, so before committing, check that your composer.json Laravel/PHP constraints haven't moved past what it supports (it was built for the Laravel 5.x era). Run composer why-not sheikhheera/requent if resolution fails.Heera\Requent\RequentServiceProvider to config/app.php; on 5.5+ it should be auto-discovered. If it isn't, that's your first sign the package is unmaintained for your version.php artisan vendor:publish --tag=requent (check vendor/sheikhheera/requent/config for the exact tag). This is where the query parsing and field-selection defaults live.tests/ or examples/ directory in vendor/ first — for a package this old, the tests are the most reliable documentation of the expected query-string syntax.GET /api/posts) and confirm you can pass a Requent-style query string, get back only the fields and relations you asked for, and see the underlying query logged via DB::listen or Laravel Telescope. If that round-trip works, the package is worth building on.select() and with() on the builder. This is where you get the "GraphQL-ish" benefit without the "arbitrary query execution" risk.filter()/collection transforms or Laravel API Resources on the result set — Requent shapes the query, so keep response shaping in a presenter layer that you control.$request->attributes or app()->instance()), and let controllers consume it. Add a cache key derived from the normalized query string if the endpoint is hot.->where('user_id', auth()->id())) before handing the builder to Requent so user-supplied filters can't widen results.composer.lock conflicts before adding; you may need --ignore-platform-reqs in a sandbox, which is a red flag for production. Fork-and-patch is the realistic path if you depend on it.limit()/paginate() cap; otherwise a crafted query string can request unbounded relations (N+1 and memory blow-ups).DB::enableQueryLog()), and log when a field is filtered by the whitelist. The package's own exceptions are unlikely to be descriptive.QueryBuilder/Schema classes so you can swap it out (for Lighthouse, laravel-query-builder, or a hand-rolled parser) when its compatibility finally breaks — the rest of your app shouldn't import the vendor namespace directly.How can I help you explore Laravel packages today?