- What is d3vnz/issuetracker and what can I use it for?
- It is a Laravel package that adds lightweight issue tracking directly into your application. It lets you manage projects, issues, comments, labels, and statuses through configurable routes and Blade views. Typical use cases are internal bug reporting, assigning work to teammates, and following progress without paying for or integrating a separate tracker.
- How do I install d3vnz/issuetracker with Composer?
- Install it with composer require d3vnz/issuetracker. After that, publish any package assets such as the config file, migrations, or views as described in the repository README, then run php artisan migrate. Because the package ships its own routes and Blade views, no manual wiring of controllers is required.
- How do I configure the routes the package registers?
- The package is built around configurable routes, so once the config file is published you can change things like the URL prefix, route middleware, and other route-level settings there. That lets you mount the tracker under a path such as /tracker or restrict it behind your own middleware group. Review the published config file for the exact keys available in your version.
- Which Laravel versions does d3vnz/issuetracker support?
- Support depends on the Laravel and PHP constraints declared in the package composer.json, so check that file or the README for the exact versions. Always confirm compatibility with your application's Laravel version before installing. Pinning a version in composer.json helps avoid surprises when the package is updated.
- How do I control who can access the issue tracker?
- Access is controlled through the middleware applied to the package routes in the published config. You can attach Laravel's auth middleware or your own gate or policy-based middleware so only authorized team members reach the tracker. Doing this before deploying to production is important, since the views expose project and issue data.
- Can I customize the Blade views used by the package?
- Yes. The package renders its interface with Blade views, and Laravel's standard view publishing lets you copy them into resources/views/vendor and edit the copies. Your overridden views take precedence over the package defaults, so you can match your application's layout and styling. You can also leave the defaults in place for a quick internal tool.
- What database tables does the package create?
- The migrations cover the package's core concepts: projects, issues, comments, labels, and statuses. Review the published migration files before running them so you know exactly what is added to your schema. If you already have tables with similar names, rename or adjust the migrations to avoid conflicts.
- Does it work with my existing User model for assigning issues?
- Issues can be assigned to users, and the package is designed to sit inside an existing Laravel application rather than manage its own accounts. Check the config and migrations to see how the user relationship is resolved and whether you need to adjust the model or table it references. Using your app's existing users keeps authentication and permissions in one place.
- How do I write tests for the issue tracker in my application?
- Treat it like any other Laravel feature: use RefreshDatabase, run the package migrations, act as a user, and make HTTP assertions against the registered routes. Feature tests that create a project, open an issue, and post a comment cover most of the workflow. Because routes are configurable, test the same prefix and middleware your production config uses.
- Is d3vnz/issuetracker suitable for production, and what are the alternatives?
- It is a lightweight, app-embedded tracker, which makes it a good fit for small teams that want bug reporting without another external service. Before relying on it in production, review the source, lock the version in composer.json, and confirm it is actively maintained on GitHub. If you need advanced workflows, reporting, or integrations, dedicated tools or more feature-heavy Laravel packages may be a better match.