Skip to content

Repository files navigation

Heaven's Gate

Heaven's Gate is the live PHP web application used to publish and maintain the Heaven's Gate RPG setting: characters, chronicles, seasons, chapters, timeline events, organizations, groups, rules, systems, maps, documents, soundtrack and tools.

The project is intentionally database-driven. Public URLs use readable slugs while the editorial backend under /talim maintains the relational data behind them.

Runtime at a glance

  • PHP application with a single public front controller: index.php.
  • Friendly routing in app/bootstrap/request_router.php.
  • Controller dispatch in app/bootstrap/body_work.php.
  • MySQL/MariaDB through mysqli.
  • Production snapshot reviewed on 2026-09-02: MariaDB 10.5.29.
  • 119 production tables, 4 views and 1 stored procedure in the 2026-09-01 snapshot.
  • Desktop and mobile presentation layers share the same underlying content.
  • Administrative maintenance lives under /talim.

Repository map

Path Purpose
app/bootstrap/ Request bootstrapping, routing handoff and page dispatch.
app/controllers/ Public, admin and tool controllers.
app/helpers/ Shared database, security, routing and domain helpers.
app/modules/ Larger domain-specific modules.
app/mobile/ Mobile routing and presentation layer.
app/partials/ Shared layout fragments.
api/ JSON endpoints.
assets/ CSS, JavaScript and vendored frontend assets.
public/ Public images and sounds.
tools/ Repository-level CLI/developer tools.
sql/ Focused SQL audits; not a schema installer.
reports/ Dated editorial reports.
admin_docs/ Maintained technical documentation and historical migration notes.

Local/runtime requirements

The current runtime expects:

  • PHP 8.x;
  • mysqli;
  • MariaDB/MySQL compatible with the production schema;
  • a web server serving the repository root;
  • config.env with:
    • MYSQL_HOST
    • MYSQL_USER
    • MYSQL_PWD
    • MYSQL_BDD

app/helpers/db_connection.php searches config.env outside the project root first, then in the root, then in the legacy app/ location.

There is no current full-schema installer in this repository. Old documentation that referred to install_schema_from_dump.php or schema_definition.php is obsolete. The current production structure is documented from the continuity snapshot instead.

Routing

A normal request flows through:

.htaccessindex.phprequest_router.phpbody_work.php → controller.

Do not expose PHP files under app/ directly. .htaccess deliberately blocks /app and /admin_docs.

For a new simple public section, use:

python tools/scaffold_section.py --route-key example --slug example --title "Example" --dry-run

See PUBLIC_SECTION_GUIDE.md.

Database

The authoritative reference used for this documentation refresh is the production snapshot:

starkvind/heavens-gate-continuity/snapshots/web/database/production-2026-09-01.sql

The snapshot contains:

  • 43 dim_* tables;
  • 36 fact_* tables;
  • 39 bridge_* tables;
  • 1 admin/migration backup table;
  • 4 views;
  • 1 stored procedure.

See DATABASE_SCHEMA.md for the maintained map.

Do not use admin_docs/bdd_structure.txt as the current schema. It is a retained historical snapshot because migration manifests still reference it.

Maintenance

Start here:

Historical migration manifests under admin_docs/migration_manifest_* remain useful as dated records, but they are not runtime documentation.

Administration

The application includes an authenticated editorial backend for maintaining campaign content. Operational details, privileged routes and production procedures are intentionally not documented in the public README.

License

Personal / non-commercial project codebase and campaign content.

Third-party universe references remain property of their respective owners.

About

Archivo digital de una campaña de Hombre Lobo: El Apocalipsis, con biografías, líneas temporales y subtramas personalizadas desde 2006.

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages