diff --git a/README.md b/README.md index 4243403..6b0d728 100644 --- a/README.md +++ b/README.md @@ -23,124 +23,148 @@
- +A 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. --Web Application Basic of Yii Version 2. Yii Framework application best for rapidly creating projects with Bootstrap 5. -
+ - +## Features - +- ✅ **Asset Management** - Optimized asset bundles for CSS, JS, and resource management. +- ✅ **Clean Architecture** - Well-organized directory structure following Yii2 best practices. +- ✅ **Console Commands** - Example console commands for background tasks and maintenance. +- ✅ **Contact Form** - Fully functional contact form with validation and email sending. +- ✅ **Developer Tools** - Debugging tools, logging, and development-friendly configurations. +- ✅ **Modern Bootstrap 5 UI** - Responsive, mobile-first design with latest Bootstrap components. +- ✅ **Multi-language Support** - Built-in internationalization (i18n) support with message translations. +- ✅ **Ready-to-Use Pages** - Pre-built pages including home, about, contact, and error handling. +- ✅ **Security Features** - Built-in CSRF protection, input validation, and secure configurations. +- ✅ **Testing Ready** - Codeception test suite with examples for functional and unit testing. - +## Environment support -## Directory structure +[](https://httpd.apache.org/) +[](https://nginx.org/) +[](https://www.docker.com/) -```text -root -├── config -│ ├── common Common configuration. -│ │ └── components.php -│ ├── console Console configuration. -│ │ └── app.php -│ ├── web Web configuration. -│ │ ├── app.php -│ │ ├── components.php -│ │ └── modules.php -│ ├── messages.php Translation configuration. -│ ├── params-console.php Console parameters. -│ └── params-web.php Web parameters. -├── src -│ ├── framework -│ │ ├── asset Asset bundle files. -│ │ ├── event Event handler files. -│ │ └── resource -│ │ ├── css Css files. -│ │ ├── js Js files. -│ │ ├── layout Layout files. -│ │ ├── message Translation files. -│ │ └── ApplicationParameters.php Configuration application parameters. -│ └── usecase -│ ├── contact Contact use case. -│ ├── hello Hello use case (console). -│ ├── security Security use case. -│ └── site Site use case. -├── tests Tests codeception. -├── vendor Composer dependencies. -└── public Web server public. -``` +## Quick start -## Features +### How it works -The web application contains: +The Yii2 Web Application Basic template provides a complete foundation for building modern web applications. Unlike starting from scratch, this template includes. -- [x] Pages - [Screenshots]: - - [about](docs/about.png) - - [contact](docs/contact.png) - - [404](docs/404.png) +1. **Pre-configured structure** with organized directories for assets, views, models, and controllers. +2. **Bootstrap 5 integration** for responsive, mobile-first user interfaces. +3. **Security features** including CSRF protection and input validation. +4. **Development tools** for debugging, logging, and testing. --It includes all commonly used configurations that would allow you to focus on adding new -features to your application. -
+#### Why use this template? -## Installation +- **Rapid development**: Start building features immediately without setup overhead. +- **Best practices**: Follow Yii2 conventions and modern web development standards. +- **Extensible**: Easy to customize and extend for specific project requirements. +- **Production-ready**: Includes security features and optimizations for deployment. --If you do not have Composer, you may install it by following the instructions at getcomposer.org. -
+```text +Application structure: + +Web App Basic +├── Assets (CSS, JS, Images) +├── Console (Background tasks) +├── I18n (Multi-language support) +├── Pages (Home, About, Contact, Error) +├── Security (CSRF, Validation, Authentication) +└── Testing (Unit, Functional tests) +``` + +### Installation -You can then install this project app-basic using the following command: +**Quick start** -```shell +```bash composer create-project --prefer-dist --stability=dev yii2-extensions/app-basic myapp +cd myapp ``` --Now you should be able to access the application through the following URL, assuming `public` is the directory -directly under the Web root. -
+**Start development server** + +```bash +# Using built-in PHP server +php -S localhost:8080 -t public + +# Or using Yii console command +./yii serve +``` -__*Virtual Host:*__ +**Access your application** ``` http://localhost:8080/ ``` -__*Server Yii:*__ +### Basic usage -```shell -./yii serve +#### Directory structure + +```text +root/ +├── config/ Configuration files +│ ├── common/ Common configuration +│ ├── console/ Console configuration +│ ├── web/ Web configuration +│ └── messages.php Translation config +├── src/ +│ ├── framework/ Framework assets & resources +│ │ ├── asset/ Asset bundles +│ │ ├── event/ Event handlers +│ │ └── resource/ CSS, JS, layouts, messages +│ └── usecase/ Application use cases +│ ├── contact/ Contact functionality +│ ├── hello/ Console command example +│ ├── security/ Security features +│ └── site/ Site pages +├── tests/ Test suites +├── vendor/ Composer dependencies +└── public/ Web server document root ``` -__Console commands:__ +#### Creating your first page -```shell -./yii hello/index -``` +```php + -To generate the Yii Web Application Basic translations, you can change the language settings in the configuration file. -+namespace app\usecase\site; -``` -config/messages.php +use yii\web\Controller; + +class SiteController extends Controller +{ + public function actionIndex(): string + { + return $this->render('index'); + } + + public function actionAbout(): string + { + return $this->render('about'); + } +} ``` -
- Automatically the generator will create the folder of your language in `src/Framework/resource/message`, - If any translation is needed, you can open an issue to add it. -
+#### Console commands -Root directory +```bash +# Run the hello command +./yii hello/index -``` +# Generate translations ./yii message config/messages.php -``` +# Clear cache +./yii cache/flush-all +``` ## Quality code [](https://packagist.org/packages/yii2-extensions/app-basic) @@ -149,15 +173,23 @@ Root directory [](https://github.com/yii2-extensions/app-basic/actions/workflows/static.yml) [](https://github.styleci.io/repos/698621511?branch=main) -## Tests +## Documentation + +For detailed configuration options and advanced usage: + +- 📚 [Installation Guide](docs/installation.md) +- ⚙️ [Configuration Reference](docs/configuration.md) +- 💡 [Usage Examples](docs/examples.md) +- 🧪 [Testing Guide](docs/testing.md) + +## Screenshots -~~~ -// download all composer dependencies root project -$ composer update --prefer-dist -vvv +The web application includes these ready-to-use pages: -// run all tests with code coverage -$ vendor/bin/codecept run --coverage-xml -~~~ +- **[Home Page](docs/home.png)** - Welcome page with navigation +- **[About Page](docs/about.png)** - Information about your application +- **[Contact Page](docs/contact.png)** - Contact form with validation +- **[404 Error Page](docs/404.png)** - Custom error handling ## Our social networks