{"id":22393975,"url":"https://github.com/yii2-extensions/app-basic","last_synced_at":"2025-07-31T10:32:21.758Z","repository":{"id":57066798,"uuid":"165419144","full_name":"yii2-extensions/app-basic","owner":"yii2-extensions","description":"Yii Web Application.","archived":false,"fork":false,"pushed_at":"2025-07-13T12:33:11.000Z","size":3534,"stargazers_count":14,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-30T07:03:04.917Z","etag":null,"topics":["app-basic","config-plugin","dark-theme","multilanguage","vertical-slices","yii2","yii2-extensions"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yii2-extensions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-01-12T18:02:39.000Z","updated_at":"2025-07-28T05:25:39.000Z","dependencies_parsed_at":"2023-12-12T11:28:40.316Z","dependency_job_id":"343e90d2-033f-4978-8691-b6361db8da68","html_url":"https://github.com/yii2-extensions/app-basic","commit_stats":null,"previous_names":["yii2-extensions/app-basic","terabytesoftw/app-basic"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yii2-extensions/app-basic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yii2-extensions%2Fapp-basic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yii2-extensions%2Fapp-basic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yii2-extensions%2Fapp-basic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yii2-extensions%2Fapp-basic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yii2-extensions","download_url":"https://codeload.github.com/yii2-extensions/app-basic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yii2-extensions%2Fapp-basic/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267828210,"owners_count":24150430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app-basic","config-plugin","dark-theme","multilanguage","vertical-slices","yii2","yii2-extensions"],"created_at":"2024-12-05T05:08:31.199Z","updated_at":"2025-07-31T10:32:21.748Z","avatar_url":"https://github.com/yii2-extensions.png","language":"PHP","readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/yii2-extensions/localeurls\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://www.yiiframework.com/image/yii_logo_light.svg\" alt=\"Yii Framework\"\u003e\n    \u003c/a\u003e\n    \u003ch1 align=\"center\"\u003eWeb Application Basic\u003c/h1\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.php.net/releases/8.1/en.php\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/PHP-%3E%3D8.1-787CB5\" alt=\"php-version\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/yiisoft/yii2/tree/2.0.53\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Yii2%20-2.0.53-blue\" alt=\"Yii2 2.0.53\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/yiisoft/yii2/tree/22.0\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Yii2%20-22-blue\" alt=\"Yii2 22.0\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/yii2-extensions/app-basic/actions/workflows/build.yml\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://github.com/yii2-extensions/app-basic/actions/workflows/build.yml/badge.svg\" alt=\"PHPUnit\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/yii2-extensions/app-basic/actions/workflows/static.yml\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://github.com/yii2-extensions/app-basic/actions/workflows/static.yml/badge.svg\" alt=\"PHPStan\"\u003e\n    \u003c/a\u003e        \n\u003c/p\u003e\n\nA modern, Bootstrap 5-powered Yii2 application template designed for rapid web-application development. Built with best practices, clean architecture, and developer-friendly configuration, it lets you create production-ready apps with minimal setup while maintaining code quality and extensibility.\n\n![app-basic](docs/home.png)\n\n## Features\n\n- ✅ **Asset Management** - Optimized asset bundles for CSS, JS, and resource management.\n- ✅ **Clean Architecture** - Well-organized directory structure following Yii2 best practices.\n- ✅ **Console Commands** - Example console commands for background tasks and maintenance.\n- ✅ **Contact Form** - Fully functional contact form with validation and email sending.\n- ✅ **Developer Tools** - Debugging tools, logging, and development-friendly configurations.\n- ✅ **Modern Bootstrap 5 UI** - Responsive, mobile-first design with latest Bootstrap components.\n- ✅ **Multi-language Support** - Built-in internationalization (i18n) support with message translations.\n- ✅ **Ready-to-Use Pages** - Pre-built pages including home, about, contact, and error handling.\n- ✅ **Security Features** - Built-in CSRF protection, input validation, and secure configurations.\n- ✅ **SSL Support** - Configured for secure HTTPS connections with SSL (mkcert).\n- ✅ **Testing Ready** - Codeception test suite with examples for functional and unit testing.\n\n## Supported web servers\n\n[![Apache](https://img.shields.io/badge/apache-%23D42029.svg?style=for-the-badge\u0026label=docker\u0026logo=apache\u0026logoColor=white)](docker-compose.yml)\n[![Caddy](https://img.shields.io/badge/caddy-%231F88C0.svg?style=for-the-badge\u0026label=docker\u0026logo=caddy\u0026logoColor=white)](docker-compose.caddy.yml)\n[![FrankenPHP](https://img.shields.io/badge/frankenphp-%23FF6B35.svg?style=for-the-badge\u0026label=docker\u0026logo=php\u0026logoColor=white)](docker-compose.frankenphp.yml)\n[![Nginx](https://img.shields.io/badge/nginx-%23009639.svg?style=for-the-badge\u0026label=docker\u0026logo=nginx\u0026logoColor=white)](docker-compose.nginx.yml)\n\n## Quick start\n\n### How it works\n\nThe Yii2 Web Application Basic template provides a complete foundation for building modern web applications. Unlike starting from scratch, this template includes.\n\n1. **Pre-configured structure** with organized directories for assets, views, models, and controllers.\n2. **Bootstrap 5 integration** for responsive, mobile-first user interfaces.\n3. **Security features** including CSRF protection and input validation.\n4. **Development tools** for debugging, logging, and testing.\n\n#### Why use this template\n\n- **Rapid development**: Start building features immediately without setup overhead.\n- **Best practices**: Follow Yii2 conventions and modern web development standards.\n- **Extensible**: Easy to customize and extend for specific project requirements.\n- **Production-ready**: Includes security features and optimizations for deployment.\n\n### Installation\n\n**Quick start**\n\n```bash\ncomposer create-project --prefer-dist --stability=dev yii2-extensions/app-basic myapp\ncd myapp\n```\n\n**Start development server**\n\n```bash\n# Using built-in PHP server\nphp -S localhost:8080 -t public\n\n# Or using Yii console command\n./yii serve\n```\n\n**Start Apache or Nginx server**\n\n```bash\n# For Apache\ndocker-compose up -d\n\n# For Caddy\ndocker-compose -f docker-compose.caddy.yml up -d\n\n# For FrankenPHP\ndocker-compose -f docker-compose.frankenphp.yml up -d\n\n# For Nginx\ndocker-compose -f docker-compose.nginx.yml up -d \n```\n\n### Access your application\n\nAfter starting the server, you can access your application in your web browser.\n\n```bash\n# For built-in PHP server\nhttp://localhost:8080/\n\n# For Apache\nhttps://localhost:8443/\n\n# For Caddy\nhttps://localhost:8444/\n\n# For FrankenPHP\nhttps://localhost:8445/\n\n# For Nginx\nhttps://localhost:8446/\n```\n\n### Basic usage\n\n#### Directory structure\n\n```text\nroot/\n├── config/                Configuration files\n│   ├── common/            Common configuration\n│   ├── console/           Console configuration  \n│   ├── web/               Web configuration\n│   └── messages.php       Translation config\n├── docker/                Docker configuration files\n│   ├── apache/            Apache configuration\n│   ├── caddy/             Caddy configuration\n│   ├── frankenphp/        FrankenPHP configuration\n│   ├── nginx/             Nginx configuration\n│   ├── php/               PHP configuration\n│   ├── ssl/               SSL certificates\n│   └── supervisor/        Supervisor configuration\n├── src/\n│   ├── framework/         Framework assets \u0026 resources\n│   │   ├── asset/         Asset bundles\n│   │   ├── event/         Event handlers\n│   │   └── resource/      CSS, JS, layouts, messages\n│   └── usecase/           Application use cases\n│       ├── contact/       Contact functionality\n│       ├── hello/         Console command example\n│       ├── security/      Security features\n│       └── site/          Site pages\n├── tests/                 Test suites\n├── vendor/                Composer dependencies\n└── public/                Web server document root\n```\n\n#### Creating your first page\n\n```php\n\u003c?php\n// src/usecase/site/SiteController.php\n\ndeclare(strict_types=1);\n\nnamespace app\\usecase\\site;\n\nuse yii\\web\\Controller;\n\nclass SiteController extends Controller\n{\n    public function actionIndex(): string\n    {\n        return $this-\u003erender('index');\n    }\n    \n    public function actionAbout(): string\n    {\n        return $this-\u003erender('about');\n    }\n}\n```\n\n#### Console commands\n\n```bash\n# Run the hello command\n./yii hello/index\n\n# Generate translations\n./yii message config/messages.php\n\n# Clear cache\n./yii cache/flush-all\n```\n## Quality code\n\n[![Latest Stable Version](https://poser.pugx.org/yii2-extensions/app-basic/v)](https://packagist.org/packages/yii2-extensions/app-basic)\n[![Total Downloads](https://poser.pugx.org/yii2-extensions/app-basic/downloads)](https://packagist.org/packages/yii2-extensions/app-basic)\n[![codecov](https://codecov.io/github/yii2-extensions/app-basic/graph/badge.svg?token=zcXbeTspxy)](https://codecov.io/github/yii2-extensions/app-basic)\n[![phpstan-level](https://img.shields.io/badge/PHPStan%20level-max-blue)](https://github.com/yii2-extensions/app-basic/actions/workflows/static.yml)\n[![StyleCI](https://github.styleci.io/repos/698621511/shield?branch=main)](https://github.styleci.io/repos/698621511?branch=main)\n\n## Documentation\n\nFor detailed configuration options and advanced usage:\n\n- 📚 [Installation Guide](docs/installation.md)\n- ⚙️ [Configuration Reference](docs/configuration.md) \n- 🧪 [Testing Guide](docs/testing.md)\n\n## Screenshots\n\nThe web application includes these ready-to-use pages:\n\n- **[Home Page](docs/home.png)** - Welcome page with navigation\n- **[About Page](docs/about.png)** - Information about your application  \n- **[Contact Page](docs/contact.png)** - Contact form with validation\n- **[404 Error Page](docs/404.png)** - Custom error handling\n\n## Our social networks\n\n[![X](https://img.shields.io/badge/follow-@terabytesoftw-1DA1F2?logo=x\u0026logoColor=1DA1F2\u0026labelColor=555555\u0026style=flat)](https://x.com/Terabytesoftw)\n\n## License\n\n[![License](https://img.shields.io/github/license/yii2-extensions/app-basic)](LICENSE.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyii2-extensions%2Fapp-basic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyii2-extensions%2Fapp-basic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyii2-extensions%2Fapp-basic/lists"}