PHPackages                             escuccim/recordcollection - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. escuccim/recordcollection

ActiveLibrary[Database &amp; ORM](/categories/database)

escuccim/recordcollection
=========================

A package to maintain a searchable database of vinyl records

v0.1.0-beta.1(9y ago)050MITPHPPHP ~5.6|~7.0

Since Jan 19Pushed 8y ago1 watchersCompare

[ Source](https://github.com/escuccim/recordcollection)[ Packagist](https://packagist.org/packages/escuccim/recordcollection)[ Docs](https://github.com/escuccim/recordcollection)[ RSS](/packages/escuccim-recordcollection/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (3)Dependencies (4)Versions (4)Used By (0)

RecordCollection
================

[](#recordcollection)

[![Latest Version on Packagist](https://camo.githubusercontent.com/19631bf506fb283f7980e2584520becd5d68b431ce4d8a71e78e8b595243f0b6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f657363756363696d2f7265636f7264636f6c6c656374696f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/escuccim/recordcollection)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/b136ac245e99e7c22950f7e028adfe6f2f2ffb2c1dafd30802a3ae0b31725988/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f657363756363696d2f5265636f7264436f6c6c656374696f6e2f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/escuccim/recordcollection)[![Total Downloads](https://camo.githubusercontent.com/f5ad57e5bf9dfd79007ab1a5f8dc032a542e80c64e3892676746f5cea6bf35bc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f657363756363696d2f7265636f7264636f6c6c656374696f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/escuccim/recordcollection)

A Laravel package to maintain my database of vinyl records in my collection, with a searchable HTML interface and an API interface. Currently has English and French language, easily expandable with additional languages.

Install
-------

[](#install)

Via Composer

```
$ composer require escuccim/recordcollection
```

Register service provider in config/app.php:

```
Escuccim\RecordCollection\RecordCollectionServiceProvider::class
Laracasts\Flash\FlashServiceProvider::class,
```

Run migrations to create the database table:

```
php artisan migrate
```

This uses a middleware to determine if the user is authorized to perform administrative tasks. You can use mine or create your own, the code references middleware 'admin', so unless there is a middleware with this name registered will throw errors. To use mine register it in app/Http/Kernel.php:

```
'admin' => \Escuccim\RecordCollection\Http\Middleware\AdminMiddleware::class,
```

To enable some Javascript features you need to add the following to the header of your layouts/app.blade.php file:

```

@stack('scripts')
```

And you need to remove the script tag referencing app.js from the bottom of the layout file.

You must publish the config and pagination files with:

```
php artisan vendor:publish --tag=config
```

If you wish to edit the language or view files you can also publish those:

```
php artisan vendor:publish
```

**Note** - You must publish the config files for the search interface to work properly. There are some Javascript assets which need to be put into the public directory for the search interface to work, and it will also publish the Laravel pagination files have some slight modifications which are necessary for proper functioning of the page.

There are multiple groups of files to be published, which you can choose by adding --tags=\[group\] to the command:

- config - publishes the config file to /config/records.php
- migrations - publishes the database migrations to /database/migrations
- lang - publishes the translation files to /resources/lang/vendor - currently I have files for English and French
- views - publishes the views /resoures/vendor/views

Usage
-----

[](#usage)

This package contains its own routes, models, controllers and views so should run out of the box. To enable the Javascript functions in the admin pages you need to add the following to your layouts/app.blade.php in the header:

```
@yield('header')

```

Once you have everything installed the route /records should take you to the list of records, where you can add or edit records. I do not have a delete function as I would never get rid of any of my records.

The HTML interface will display a link to discogs and a thumbnail from discogs if you have that info in the database table. If not I wrote scripts I used to pull the info from Discogs, but due to the large numbers of variations of many vinyl releases it usually needs a bit of hand-holding to populate usable data.

In the records.php config file is a key called 'use\_rich\_cards'. This allows you to display a Rich Card with the record information. The thumbnail from the record will be used as an image if this is on.

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Eric Scuccimarra](https://github.com/escuccim)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Total

3

Last Release

3421d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/789029?v=4)[skooch](/maintainers/skooch)[@skooch](https://github.com/skooch)

---

Top Contributors

[![escuccim](https://avatars.githubusercontent.com/u/22889788?v=4)](https://github.com/escuccim "escuccim (68 commits)")

---

Tags

laravelmusicdiscogsvinylescuccim

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/escuccim-recordcollection/health.svg)

```
[![Health](https://phpackages.com/badges/escuccim-recordcollection/health.svg)](https://phpackages.com/packages/escuccim-recordcollection)
```

###  Alternatives

[illuminate/database

The Illuminate Database package.

2.8k54.1M11.2k](/packages/illuminate-database)[kirschbaum-development/eloquent-power-joins

The Laravel magic applied to joins.

1.6k29.9M42](/packages/kirschbaum-development-eloquent-power-joins)[yajra/laravel-oci8

Oracle DB driver for Laravel via OCI8

8723.1M23](/packages/yajra-laravel-oci8)[glushkovds/phpclickhouse-laravel

Adapter of the most popular library https://github.com/smi2/phpClickHouse to Laravel

2051.4M2](/packages/glushkovds-phpclickhouse-laravel)[clickbar/laravel-magellan

This package provides functionality for working with the postgis extension in Laravel.

438834.4k1](/packages/clickbar-laravel-magellan)[lemaur/eloquent-publishing

207.8k1](/packages/lemaur-eloquent-publishing)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
