PHPackages                             numaxlab/testa - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. numaxlab/testa

ActiveLibrary[Testing &amp; Quality](/categories/testing)

numaxlab/testa
==============

A Laravel package extending LunarPHP for content-driven bookshop storefronts using Geslib as their management system.

1.0.0-beta.15(2mo ago)081[15 issues](https://github.com/numaxlab/testa/issues)MITPHPPHP ^8.4CI passing

Since Dec 5Pushed 2mo agoCompare

[ Source](https://github.com/numaxlab/testa)[ Packagist](https://packagist.org/packages/numaxlab/testa)[ RSS](/packages/numaxlab-testa/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (69)Versions (19)Used By (0)

Testa
=====

[](#testa)

[![Latest Version on Packagist](https://camo.githubusercontent.com/cf9c7f3ce05813049d5a0d7ce577e1a4b8824ea30edf983f134bcda8bdd1dae9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e756d61786c61622f74657374612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/numaxlab/testa)[![Total Downloads](https://camo.githubusercontent.com/3e760d26f7b13cd15216862eb6c08276832eb0b2fda8508780d371fcedf7f533/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e756d61786c61622f74657374612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/numaxlab/testa)

Testa is a Galician term used in printing and binding referring to the top edge of a book.

It is also a comprehensive Laravel package that extends the [Lunar](https://lunarphp.io/) e-commerce platform. Testa offers an opinionated, feature-rich solution specifically designed for building advanced, content-driven online stores for bookshops.

This package is tailored for bookshops that utilize [Geslib](https://editorial.trevenque.es/productos/geslib/) as their primary management system. It relies on the [numaxlab/lunar-geslib](https://github.com/numaxlab/lunar-geslib) package for the core Geslib integration and complements it by providing a ready-to-use storefront implementation.

Furthermore, Testa expands Lunar's capabilities by integrating a full-featured educational platform, a membership system, news and events management, and other key tools.

Testa was designed in a collaboration between [Traficantes de Sueños](https://traficantes.net), [Katakrak](https://katakrak.net)and [NUMAX](https://numax.org).

Features
--------

[](#features)

- **Content Management**: Create and manage static pages, promotional banners, and image slides.
- **Education Platform**:
    - Manage courses, modules, and topics.
    - Dedicated "Course" product type in Lunar.
- **Media Library**:
    - Upload and manage Audio, Video, and Document files.
    - Control media visibility (e.g., public, members-only).
- **Membership System**:
    - Define membership tiers and plans.
    - Manage subscriptions and member-exclusive benefits.
- **News &amp; Events**:
    - Publish articles.
    - Create and manage events with types and venues.
- **Editorial Area**: Manage reviews and special "editorial" collections.
- **Donation System**: Includes a pre-configured, flexible "Donation" product type.
- **Lunar &amp; Filament Integration**:
    - Extends core Lunar models like `Product` and `Customer`.
    - Extends the Filament admin panel for `Product` and `Customer` resources.
- Provides a rich set of Livewire and Blade components for the storefront.

Requirements
------------

[](#requirements)

- PHP ^8.4
- Laravel 12
- [LunarPHP](https://lunarphp.io/docs/core/index.html)
- [Lunar Geslib](https://github.com/numaxlab/lunar-geslib)

Installation
------------

[](#installation)

> **Note:** Testa is currently in beta. To install a beta release, set `minimum-stability` to `beta` (or `dev` with `prefer-stable: true`) in your host app's `composer.json`.

After following the official Laravel [installation instructions](https://laravel.com/docs/installation) to create a new project, you can install this package via Composer:

```
composer require numaxlab/testa:^1.0@beta
```

The package service provider will be auto-discovered by Laravel.

1. **Add the Filament Plugins to the Lunar Panel in the register method of your `AppServiceProvider`**

    ```
    LunarPanel::panel(function ($panel) {
         return $panel
             ->plugins([
                 GeslibPlugin::make(),
                 TestaPlugin::make(),
                 ShippingPlugin::make(),
                 SpatieLaravelTranslatablePlugin::make()
                     ->defaultLocales(['es', 'en']), // Setup the languages you want to use
             ]);
    })->register();
    ```
2. **Run the Installer Commands**

    This is a **crucial step**. The installer commands will set up required Lunar attributes, collection groups, tags, and seed initial data needed for the package to function correctly.

    ```
    php artisan lunar:geslib:install
    php artisan lunar:testa:install
    ```

Configuration
-------------

[](#configuration)

First check the `lunar-geslib` [documentation](https://github.com/numaxlab/lunar-geslib?tab=readme-ov-file) and review the installation and configuration steps. As noted there, a queue configuration is important for being able to import Geslib data.

The configuration file for this package will be available at `config/testa.php`. Review all items and adjust the values to fit your specific setup.

Testing
-------

[](#testing)

The package uses Pest for testing. You can run the tests using the following command:

```
composer test
```

Or

```
./vendor/bin/pest
```

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

[](#contributing)

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

License
-------

[](#license)

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

Authors
-------

[](#authors)

- Adrián Pardellas Blunier ()
- X. Carlos Hidalgo ()

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance85

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.7% 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 ~12 days

Recently: every ~4 days

Total

15

Last Release

77d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/26456395?v=4)[Laboratorio NUMAX](/maintainers/numaxlab)[@numaxlab](https://github.com/numaxlab)

---

Top Contributors

[![ablunier](https://avatars.githubusercontent.com/u/4113587?v=4)](https://github.com/ablunier "ablunier (204 commits)")[![equiscarlos](https://avatars.githubusercontent.com/u/48329429?v=4)](https://github.com/equiscarlos "equiscarlos (11 commits)")[![emanuelnogueiras](https://avatars.githubusercontent.com/u/22733073?v=4)](https://github.com/emanuelnogueiras "emanuelnogueiras (8 commits)")[![claude](https://avatars.githubusercontent.com/u/81847?v=4)](https://github.com/claude "claude (1 commits)")[![google-labs-jules[bot]](https://avatars.githubusercontent.com/in/842251?v=4)](https://github.com/google-labs-jules[bot] "google-labs-jules[bot] (1 commits)")

---

Tags

bookshope-commercegesliblunar

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/numaxlab-testa/health.svg)

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

###  Alternatives

[finity-labs/fin-mail

A powerful email template manager and composer for Filament with dynamic token replacement, template versioning, and inline email sending.

316.8k2](/packages/finity-labs-fin-mail)[statikbe/laravel-filament-flexible-content-blocks

The Laravel Filament Flexible Content Blocks package helps you to easily create content in Filament for any model, with predefined or custom blocks, and foreach block an extendable Blade view component.

17927.9k6](/packages/statikbe-laravel-filament-flexible-content-blocks)[fostercommerce/meilisearch-connect

115.2k](/packages/fostercommerce-meilisearch-connect)[medienreaktor/meilisearch

Integrates Meilisearch into Neos.

101.2k1](/packages/medienreaktor-meilisearch)

PHPackages © 2026

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