pubvana / starter
Pubvana CMS starter based on FlightPHP's Skeleton
Requires
- php: ^8.1
- composer-plugin-api: ^2.0
- ext-json: *
- ext-pdo: *
- ext-pdo_mysql: *
- enlivenapp/flight-csrf: ^0.2.0
- enlivenapp/flight-factory: ^0.2.0
- enlivenapp/flight-school: ^0.3.0
- enlivenapp/flight-settings: ^0.2.0
- enlivenapp/flight-shield: ^0.2.0
- enlivenapp/migrations: ^0.2.0
- enlivenapp/vision: ^1.0
- ezyang/htmlpurifier: ^4.19
- flightphp/active-record: dev-fix/isHydrated-typed-properties as 0.7.0
- flightphp/core: ^3.0
- flightphp/runway: ^0.2 || ^1.1
- pubvana/admin: ^0.2.0
- pubvana/blog: ^0.2.0
- pubvana/comments: ^0.2.0
- pubvana/forms: ^0.1.0
- pubvana/media: ^0.2.0
- pubvana/navigation: ^0.2.0
- pubvana/pages: ^0.2.0
- pubvana/profiles: ^0.2.0
- pubvana/redirects: ^0.2.0
- pubvana/themes: ^0.2.0
Requires (Dev)
- flightphp/tracy-extensions: ^0.1 || ^0.2
- phpunit/phpunit: ^11.0
- tracy/tracy: ^2.9
README
Pubvana Starter
I noticed folks downloading some of these packages. I'm super grateful, Thank You! I would like to let folks know until this notice disappears I'm doing a lot of breaking changes without worrying about them. Once versions are up around 0.5.x things should settle down.
Starter application to get Pubvana up and running quickly. Prepackaged with all required composer packages to run the site now.
This starter application was built for Composer.
Installation
Run this command from the directory in which you want to install your new Flight PHP application. (this will require PHP 7.4 or newer)
composer create-project pubvana/starter cool-project-name
Replace cool-project-name with the desired directory name for your new application or . for installation in the current direcory.
After you create the project, make sure you go to the app/config/config.php and app/config/services.php and uncomment the lines related to the database you want to use before you get started.
What is Pubvana?
Pubvana is a modular, incredibly fast, plugin-driven CMS built on FlightPHP. It comes with blogging, pages, media management, user authentication, theming, navigation and so much more. Most things users expect to install addons with other CMSs are provided natively in Pubvana.
Key Features
- Plugin architecture - Functionality (blog, pages, media, comments, themes, etc.) is delivered as independent Composer packages. Enable, disable, or replace any of them.
- Flight Shield - Session auth, access tokens, HMAC, JWT, magic links, 2FA, groups, and permissions forked and ported from Codeigniter4 Shield.
- Theming - Themes with region/block layout, theme options, and asset publishing.
- Media management - Upload, resize, and organize images and video with a built-in picker.
- Admin panel - User, group, and settings management with a plugin extension point system.
- Migrations - Built-in database migration and seed system.
- Settings - Site settings editable from the admin panel.
Requirements
- PHP 8.1 or newer
- MySQL / MariaDB
- Composer
Getting Started
After installation, if composer hasn't already, copy the sample config and fill in your database credentials:
cp app/config/config_sample.php app/config/config.php
Edit app/config/config.php and set your database name, user, and password.
Run migrations to create the database tables:
php runway migrate
Point your web installed directory, https://example.com or https://example.com/cool-project-name, or use the built-in server for development:
composer start
Then open http://localhost:8000 in your browser.
Project Structure
project-root/
├── app/
│ ├── config/ # config.php, services.php, bootstrap.php, routes.php
│ ├── views/ # Application-level view templates
│ ├── commands/ # Custom Runway CLI commands
│ └── log/ # Error and exception logs
├── public/ # Web root (index.php, assets)
├── themes/ # Installed themes
└── vendor/ # Composer dependencies (includes all Pubvana plugins)
Much appreciation to Mike and n0nag0n for making FlightPHP available.
License
MIT