The 12-Factor App methodology is a set of best practices for building modern, scalable web applications. We follow these principles to ensure a robust and maintainable platform.
Codebase & Configuration
We work with a single central codebase in Git, where environment-specific settings (such as database credentials or API keys) are managed via environment variables. This ensures that the same code runs smoothly in different environments:
- Development (locally via Docker)
- Staging (for testing)
- Production
Dependencies & Services
All dependencies are explicitly declared and isolated. For example:
- PHP dependencies via Composer
- Frontend dependencies via npm
- External services (such as Mollie or Postmark) are treated as interchangeable resources
Build & Deployment
We maintain a strict separation between build and runtime processes:
- SCSS compilation and asset optimization occur during the build phase
- Capistrano ensures controlled deployments
- Docker guarantees consistent development environments
Scalability & Reliability
Our application is designed for scalability:
- Stateless design where session data is stored in the database
- Load balancing across multiple frontend servers
- Fast startup and graceful shutdown of processes
Logging & Management
We treat logs as event streams:
- Centralized logging via New Relic
- Structured logging for better searchability
- Admin processes run in the same environment as the application
Benefits of this Approach
- Consistent development experience
- Reliable deployments
- Easy scalability
- Improved maintainability
- Higher stability