inventor96/mako-vue

Opinionated boilerplate for web apps using PHP/Mako on the backend, and Vue on the frontend.

Installs: 7

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/inventor96/mako-vue

1.2.1 2025-10-30 22:04 UTC

This package is auto-updated.

Last update: 2025-10-30 22:07:56 UTC


README

An opinionated boilerplate for web applications using PHP/Mako on the backend and Vue.js on the frontend.

This is my personal starter template for building web applications with Mako and Vue.js. It aims to provide a solid foundation with common features and best practices, allowing developers to focus on building their applications rather than setting up the initial structure. It's been a common starting point for my own projects, so I'm sharing it in hopes that it can be useful to others as well.

Features & Stack

  • Mako PHP Framework
  • Environment-specific configuration via hierarchical pattern with Mako's built-in config system
  • Persistent storage tailored to MySQL/MariaDB databases
  • Database migrations via built-in Mako migration system, including separate user for running migrations
  • mako-template-pp for enhanced templating capabilities
  • mako-mailer for email sending and templating
  • Inertia.js for seamless server-driven SPA experience
  • intertia-mako adapter
  • Vue.js 3 with Composition API and Single File Components
  • Vite for fast development and build process
  • Vue DevTools for easier frontend debugging
  • Bootstrap for responsive UI
  • Bootstrap Icons for iconography
  • Bootswatch for easy theming
  • Common pre-built components and layout for Vue.js
  • Minimal banner to indicate non-production environments
  • Simple authentication scaffolding
  • IDE helpers for VSCode
  • Optional Dockerization for consistent development and deployment
    • Separation of dev and prod environments by utilizing compose.override.yml
    • Separate services for PHP, MariaDB, and Node/Vite
    • File ownership and permissions handling for seamless host-container interaction*
    • Pre-configured for Xdebug with VSCode integration*
    • Mailpit for local email testing*
    • Adminer for database management*
    • Host networking allows local domain name usage*
    • Allows concurrent projects to run locally without the need for port separation or reverse proxies*

* Local development only.

How to Use It

Use composer to create a new project based on this boilerplate:

composer create-project inventor96/mako-vue your-project-name

For additional details, if you don't/can't use composer on your host, and/or for general usage of this boilerplate; please see the wiki for detailed instructions on setting up and using this boilerplate.

Limitations & To-Dos

  • Local development environment is optimized for Linux hosts. Other OSes may require additional configuration.
  • Production readiness (security, performance optimizations, etc.) in a Docker context has not been fully tested.
  • Vue DevTools in Docker cannot open files in an IDE running on the host.
  • Update network script to separate Xdebug ports for multiple projects on the same host.