A comprehensive cookiecutter template for creating modern fullstack applications with business planning and deployment strategies included. This template follows the Twelve-Factor App methodology for building software-as-a-service applications.
- Multiple frontend framework options (Vanilla NodeJS, Deno, HonoJS, React/React Native, Vue/Quasar, Flutter)
- Multiple backend framework options (Django, Laravel, NuxtJS, NextJS, Quasar SSR)
- Modern database solutions (Supabase, Neon, PlanetScale)
- Infrastructure as Code with OpenTofu/Terraform/Pulumi
- Cloudflare DNS and domain management
- Docker support
- CI/CD with GitHub Actions
- Comprehensive documentation templates
- Business planning templates
- Testing strategies
- Deployment guides
This template adheres to the twelve-factor methodology:
- Codebase: One codebase tracked in revision control, many deploys
- Dependencies: Explicitly declare and isolate dependencies
- Config: Store config in the environment
- Backing services: Treat backing services as attached resources
- Build, release, run: Strictly separate build and run stages
- Processes: Execute the app as one or more stateless processes
- Port binding: Export services via port binding
- Concurrency: Scale out via the process model
- Disposability: Maximize robustness with fast startup and graceful shutdown
- Dev/prod parity: Keep development, staging, and production as similar as possible
- Logs: Treat logs as event streams
- Admin processes: Run admin/management tasks as one-off processes
- Python 3.7+
- Cookiecutter (
pip install cookiecutter
) - Docker (optional)
# Create a new project
cookiecutter gh:qoyyuum/fullstack-app-cookiecutter
# Answer the prompts to customize your project
The template supports three environments:
- Base: Common configuration and setup shared across all environments
- Local: Development environment configuration
- Production: Production environment configuration
project_name
: Name of your projectenvironment
: Choose environment type (base/local/production)architecture_type
: Monolithic or separate frontend/backendtech_choice
: Framework selectiondatabase
: Choice of modern database provider (Supabase/Neon/PlanetScale)infrastructure_as_code
: IaC tool selectiondeployment_platform
: Cloud provider selectiondomain_management
: Cloudflare DNS configuration- Various framework-specific addons
{{ cookiecutter.project_slug }}/
├── frontend/ # Frontend application (if separate)
├── backend/ # Backend application (if separate)
├── app/ # Monolithic application (if monolithic)
├── infrastructure/ # IaC configurations
│ ├── opentofu/ # OpenTofu configurations
│ └── cloudflare/ # Cloudflare configurations
├── environments/ # Environment-specific configurations
│ ├── base/ # Base configuration
│ ├── local/ # Local development
│ └── production/ # Production setup
├── scripts/ # Setup and utility scripts
├── docs/ # Documentation
├── .github/ # GitHub Actions workflows
└── docker-compose.yml # Docker composition
## License
This project is licensed under the MIT License.