PHPackages                             morfeditorial/machinima-app - 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. [Templating &amp; Views](/categories/templating)
4. /
5. morfeditorial/machinima-app

ActiveProject[Templating &amp; Views](/categories/templating)

morfeditorial/machinima-app
===========================

The official Telegram Mini App for the Machinima platform.

01PHPCI failing

Since Aug 9Pushed 2w agoCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

[![Morf Editorial](assets/images/morf-logo.svg)](assets/images/morf-logo.svg)machinima-app
=============

[](#machinima-app)

*Host application for the Machinima platform.*

[![Latest Stable Version](https://camo.githubusercontent.com/af1036dece8424a53be2547a6b3a9763982164164858a305957f066d3eb5606a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f7266656469746f7269616c2f6d616368696e696d612d6170702e7376673f6c6162656c3d5061636b6167697374266c6f676f3d7061636b6167697374)](https://packagist.org/packages/morfeditorial/machinima-app)[![Total Downloads](https://camo.githubusercontent.com/0cdd3c2a94f1a19439fae715da7e81a73fafaf551a26de58724e1c2f998966ae/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f7266656469746f7269616c2f6d616368696e696d612d6170702e7376673f6c6162656c3d446f776e6c6f616473266c6f676f3d7061636b6167697374)](https://packagist.org/packages/morfeditorial/machinima-app)[![License](https://camo.githubusercontent.com/75414779b93f7af403cad272cc507898fa07ea2a05a0b831a6187b519da49d6b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6f7266656469746f7269616c2f6d616368696e696d612d6170702e7376673f6c6162656c3d4c6963656e6365266c6f676f3d6f70656e2d736f757263652d696e6974696174697665)](https://packagist.org/packages/morfeditorial/machinima-app)

[Architecture](#architecture) · [Run profiles](#run-profiles) · [Tech stack](#tech-stack) · [Installation](#installation) · [Contributing](#contributing)

---

This is the host skeleton application for the Machinima platform. It functions seamlessly as both a regular website and an interactive Telegram Mini App. Its unique architecture ensures that the core system remains completely independent and modular.

Architecture
------------

[](#architecture)

This repository (`machinima-app`) acts merely as a thin skeleton and configuration host. It contains almost no PHP code of its own. Its primary responsibility is to wire together external, modular components using Symfony configuration and environment profiles:

- **[`morfeditorial/machinima-core`](https://github.com/morfeditorial/machinima-core)** — the foundational bundle that provides the domain models, business logic, controllers, and base UI templates. The core itself is completely platform-agnostic.
- **Platform Adapters** — separate composer packages that provide integration with external platforms (like Telegram). They implement the contracts exposed by the core bundle to register identity providers and zero-click login capabilities.

Currently, the primary adapter wired into this host is [`machinima-telegram-adapter`](https://github.com/morfeditorial/machinima-telegram-adapter).

Run profiles
------------

[](#run-profiles)

The application supports several profiles (`config/profiles/`) that enable a different set of bundles and configuration via `APP_PROFILE`:

- **`core-only`** — core only, no platform adapter.
- **`telegram-webapp`** — core + Telegram Mini App adapter (zero-click login, UI hints).
- **`telegram-bot`** — core + Telegram bot (notifications, commands).

Tech stack
----------

[](#tech-stack)

As a host application, this repository defines the infrastructure and runtime environment:

- **Runtime**: PHP 8.4+, Symfony 8.1
- **Database**: PostgreSQL (via Doctrine)
- **Real-time**: Mercure Hub
- **Asynchronous Processing**: Symfony Messenger

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

[](#installation)

```
composer install
```

Copy `.env.example` to `.env.local` and fill in the values:

```
cp .env.example .env.local
```

Main environment variables:

VariablePurpose`APP_PROFILE``core-only` / `telegram-webapp` / `telegram-bot``DATABASE_URL`PostgreSQL connection string`TELEGRAM_BOT_TOKEN`bot token (needed by the Telegram adapter and for verifying Mini App `initData`)`MERCURE_URL` / `MERCURE_PUBLIC_URL` / `MERCURE_JWT_SECRET`Mercure hub for real-time updates`MESSENGER_TRANSPORT_DSN`transport for asynchronous messagesBring up infrastructure (PostgreSQL, Mercure) via Docker Compose:

```
docker compose up -d
```

Database migrations:

```
php bin/console doctrine:migrations:migrate
```

Local run via Symfony CLI:

```
symfony server:start -d
```

Project structure
-----------------

[](#project-structure)

```
machinima-app/
+-- config/
|   \-- profiles/   # configuration per run profile
+-- migrations/     # Doctrine migrations
+-- src/
|   \-- Kernel.php  # Symfony Kernel
\-- public/         # Entry point

```

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

[](#contributing)

Contributions are welcome and appreciated! Here's how you can contribute:

1. Fork the project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

Please make sure to update tests as appropriate and adhere to the existing coding style.

License
-------

[](#license)

This project is licensed under the CSSM Unlimited License v2.0 (CSSM-ULv2). See the [LICENSE](LICENSE) file for details.

###  Health Score

21

—

LowBetter than 17% of packages

Maintenance64

Regular maintenance activity

Popularity1

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 99.2% 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.

### Community

Maintainers

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

---

Top Contributors

[![ChernegaSergiy](https://avatars.githubusercontent.com/u/60980650?v=4)](https://github.com/ChernegaSergiy "ChernegaSergiy (732 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (6 commits)")

---

Tags

architecturemachinimamercure-hubmorf-editorialphpphp8real-time-notificationsvskeletonsymfonysymfony-apptelegram-mini-apptma

### Embed Badge

![Health badge](/badges/morfeditorial-machinima-app/health.svg)

```
[![Health](https://phpackages.com/badges/morfeditorial-machinima-app/health.svg)](https://phpackages.com/packages/morfeditorial-machinima-app)
```

###  Alternatives

[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3841.2M](/packages/limenius-react-bundle)[pdewit/nova-external-url

An external URL Laravel Nova field.

30383.2k](/packages/pdewit-nova-external-url)[wbrowar/guide

A CMS Guide for Craft CMS.

6154.7k1](/packages/wbrowar-guide)[localgovdrupal/localgov_base

The base theme for LocalGov Drupal websites.

13126.9k5](/packages/localgovdrupal-localgov-base)

PHPackages © 2026

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