PHPackages                             escolalms/topic-type-project - 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. [API Development](/categories/api)
4. /
5. escolalms/topic-type-project

ActivePackage[API Development](/categories/api)

escolalms/topic-type-project
============================

Escola Headless LMS Topic Type Project

0.1.0(2y ago)06.1k↑50%[2 PRs](https://github.com/EscolaLMS/Topic-Type-Project/pulls)2MITPHPPHP &gt;=7.4CI failing

Since Mar 6Pushed 1w ago1 watchersCompare

[ Source](https://github.com/EscolaLMS/Topic-Type-Project)[ Packagist](https://packagist.org/packages/escolalms/topic-type-project)[ RSS](/packages/escolalms-topic-type-project/feed)WikiDiscussions main Synced today

READMEChangelog (9)Dependencies (7)Versions (15)Used By (2)

Topic Type Project
==================

[](#topic-type-project)

[![swagger](https://camo.githubusercontent.com/bf46f50926ef796b1bb0b6e41af746af52ff3aacdffb0533450f3b614a7334a2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63756d656e746174696f6e2d737761676765722d677265656e)](https://escolalms.github.io/Topic-Type-Project/)[![codecov](https://camo.githubusercontent.com/a7668e688198a84755bc8028d17be0c002415d632633a343d62fec3c5afc0f7a/68747470733a2f2f636f6465636f762e696f2f67682f4573636f6c614c4d532f546f7069632d547970652d50726f6a6563742f6272616e63682f6d61696e2f67726170682f62616467652e7376673f746f6b656e3d4e52414e34523841475a)](https://codecov.io/gh/EscolaLMS/Topic-Type-Project)[![phpunit](https://github.com/EscolaLMS/Topic-Type-Project/actions/workflows/test.yml/badge.svg)](https://github.com/EscolaLMS/Topic-Type-Project/actions/workflows/test.yml)[![downloads](https://camo.githubusercontent.com/cae01568908f937606b3e1ee869d28ef65155184805e87eb57e660f90fffbf45/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6573636f6c616c6d732f746f7069632d747970652d70726f6a656374)](https://packagist.org/packages/escolalms/topic-type-project)[![downloads](https://camo.githubusercontent.com/ac09bc6fc1418420c00bf4946fd807867c6e07c6bbefb0daccb623d55dc2766d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6573636f6c616c6d732f746f7069632d747970652d70726f6a656374)](https://packagist.org/packages/escolalms/topic-type-project)[![downloads](https://camo.githubusercontent.com/4a5b34fd00078694e89934a845e3dd7cd0a44a81504f7de3bedae617946e5203/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6573636f6c616c6d732f746f7069632d747970652d70726f6a656374)](https://packagist.org/packages/escolalms/topic-type-project)[![Maintainability](https://camo.githubusercontent.com/a7a11bc808d5fc966372dd6a3df45e9e09ea7d864c9d376b55f0abbc15bbda30/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f30633965323539336662333065323034386639352f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/EscolaLMS/Topic-Type-Project/maintainability)

What does it do
---------------

[](#what-does-it-do)

This package is another [TopicType](https://github.com/EscolaLMS/topic-types). It allows students to upload their solutions as files. This type is used for building headless Course.

The package by default grants students permissions to add and view their own solutions within the course. Administrators have permissions to display the list of all student solutions, as well as to download and delete them.

Installing
----------

[](#installing)

- `composer require escolalms/topic-type-project`
- `php artisan migrate`
- `php artisan db:seed --class="EscolaLms\TopicTypeProject\Database\Seeders\TopicTypeProjectPermissionSeeder"`

Endpoints
---------

[](#endpoints)

The endpoints are defined in [![swagger](https://camo.githubusercontent.com/bf46f50926ef796b1bb0b6e41af746af52ff3aacdffb0533450f3b614a7334a2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63756d656e746174696f6e2d737761676765722d677265656e)](https://escolalms.github.io/Topic-Type-Project/)

Tests
-----

[](#tests)

Run `./vendor/bin/phpunit` to run tests. Test details [![codecov](https://camo.githubusercontent.com/a7668e688198a84755bc8028d17be0c002415d632633a343d62fec3c5afc0f7a/68747470733a2f2f636f6465636f762e696f2f67682f4573636f6c614c4d532f546f7069632d547970652d50726f6a6563742f6272616e63682f6d61696e2f67726170682f62616467652e7376673f746f6b656e3d4e52414e34523841475a)](https://codecov.io/gh/EscolaLMS/Topic-Type-Project)

Events
------

[](#events)

- `ProjectSolutionCreatedEvent` - This event is dispatched when the user has uploaded a solution

You can use the [escolalms/templates-email](https://github.com/EscolaLMS/Templates-Email/tree/main/src/TopicTypeProject) package, which listens to this event and sends an email.

Listeners
---------

[](#listeners)

This package does not listen for any events.

Permissions
-----------

[](#permissions)

Permissions are defined in [seeder](https://github.com/EscolaLMS/Topic-Type-Project/blob/main/database/seeders/TopicTypeProjectPermissionSeeder.php).

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance64

Regular maintenance activity

Popularity22

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 54.5% 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 ~43 days

Recently: every ~76 days

Total

9

Last Release

868d ago

PHP version history (2 changes)0.0.1PHP ^7.4|^8.0|^8.1

0.0.8PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/c857f3115c790c573d0617d7e9ba4011269ef7b9dfdb003dc4388846a62b14f7?d=identicon)[qunabu](/maintainers/qunabu)

---

Top Contributors

[![mako321](https://avatars.githubusercontent.com/u/59456825?v=4)](https://github.com/mako321 "mako321 (12 commits)")[![qunabu](https://avatars.githubusercontent.com/u/214608?v=4)](https://github.com/qunabu "qunabu (4 commits)")[![dicani0](https://avatars.githubusercontent.com/u/58490533?v=4)](https://github.com/dicani0 "dicani0 (2 commits)")[![dyfero](https://avatars.githubusercontent.com/u/59400506?v=4)](https://github.com/dyfero "dyfero (2 commits)")[![ArtKob](https://avatars.githubusercontent.com/u/108077902?v=4)](https://github.com/ArtKob "ArtKob (1 commits)")[![daVitekPL](https://avatars.githubusercontent.com/u/58150098?v=4)](https://github.com/daVitekPL "daVitekPL (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/escolalms-topic-type-project/health.svg)

```
[![Health](https://phpackages.com/badges/escolalms-topic-type-project/health.svg)](https://phpackages.com/packages/escolalms-topic-type-project)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.6M985](/packages/statamic-cms)[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

3.0k37.6M134](/packages/darkaonline-l5-swagger)[knuckleswtf/scribe

Generate API documentation for humans from your Laravel codebase.✍

2.3k14.2M63](/packages/knuckleswtf-scribe)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135224.7k7](/packages/statamic-rad-pack-runway)[scriptdevelop/whatsapp-manager

Paquete para manejo de WhatsApp Business API en Laravel

783.8k](/packages/scriptdevelop-whatsapp-manager)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3416.9k](/packages/duncanmcclean-statamic-cargo)

PHPackages © 2026

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