From d5310257ca3d9ef6bb03c073dbe3d6d98d171c67 Mon Sep 17 00:00:00 2001 From: Error202 Date: Sun, 11 Jun 2023 09:40:53 +0300 Subject: [PATCH] readme --- README.md | 237 +++++++------------------------------------------------------- 1 file changed, 25 insertions(+), 212 deletions(-) diff --git a/README.md b/README.md index 981a7f9..da2d84f 100644 --- a/README.md +++ b/README.md @@ -1,233 +1,46 @@ -

- - - -

Yii 2 Basic Project Template

-
-

+# Yii 2 Basic + Vue3 + Vite -Yii 2 Basic Project Template is a skeleton [Yii 2](https://www.yiiframework.com/) application best for -rapidly creating small projects. +Болванка для проекта с серверной частью на Yii2, к клиентской - на Vue3. +Сборщик - Vite. База данных - PostgreSQL -The template contains the basic features including user login/logout and a contact page. -It includes all commonly used configurations that would allow you to focus on adding new -features to your application. +Для разработки нужен запущенный на компьютере Docker -[![Latest Stable Version](https://img.shields.io/packagist/v/yiisoft/yii2-app-basic.svg)](https://packagist.org/packages/yiisoft/yii2-app-basic) -[![Total Downloads](https://img.shields.io/packagist/dt/yiisoft/yii2-app-basic.svg)](https://packagist.org/packages/yiisoft/yii2-app-basic) -[![build](https://github.com/yiisoft/yii2-app-basic/workflows/build/badge.svg)](https://github.com/yiisoft/yii2-app-basic/actions?query=workflow%3Abuild) +### Установка -DIRECTORY STRUCTURE -------------------- +--- - assets/ contains assets definition - commands/ contains console commands (controllers) - config/ contains application configurations - controllers/ contains Web controller classes - mail/ contains view files for e-mails - models/ contains model classes - runtime/ contains files generated during runtime - tests/ contains various tests for the basic application - vendor/ contains dependent 3rd-party packages - views/ contains view files for the Web application - web/ contains the entry script and Web resources +#### Yii2 +- composer install +--- -REQUIREMENTS ------------- +#### Vue3 -The minimum requirement by this project template that your Web server supports PHP 7.4. +- cd vue3 +- npm i +### Запуск -INSTALLATION ------------- +- make init -### Install via Composer +### Доступ -If you do not have [Composer](https://getcomposer.org/), you may install it by following the instructions -at [getcomposer.org](https://getcomposer.org/doc/00-intro.md#installation-nix). +Доступ к сайту по ссылке (изменить можно в docker-compose.yml): -You can then install this project template using the following command: +- http://localhost:8001 -~~~ -composer create-project --prefer-dist yiisoft/yii2-app-basic basic -~~~ +Доступ к разработке на Vue3 (после запуска команды dev из package.json): -Now you should be able to access the application through the following URL, assuming `basic` is the directory -directly under the Web root. +- http://localhost:5173 -~~~ -http://localhost/basic/web/ -~~~ +### Особенности -### Install from an Archive File +Доступ к консольным командам -Extract the archive file downloaded from [yiiframework.com](https://www.yiiframework.com/download/) to -a directory named `basic` that is directly under the Web root. +- docker-compose run --rm php composer install -Set cookie validation key in `config/web.php` file to some random secret string: +Если не запускается в контейнере PostgreSQL на Windows, то выполните последовательно указанные ниже команды и повторите запуск -```php -'request' => [ - // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation - 'cookieValidationKey' => '', -], -``` - -You can then access the application through the following URL: - -~~~ -http://localhost/basic/web/ -~~~ - - -### Install with Docker - -Update your vendor packages - - docker-compose run --rm php composer update --prefer-dist - -Run the installation triggers (creating cookie validation code) - - docker-compose run --rm php composer install - -Start the container - - docker-compose up -d - -You can then access the application through the following URL: - - http://127.0.0.1:8000 - -**NOTES:** -- Minimum required Docker engine version `17.04` for development (see [Performance tuning for volume mounts](https://docs.docker.com/docker-for-mac/osxfs-caching/)) -- The default configuration uses a host-volume in your home directory `.docker-composer` for composer caches - - -CONFIGURATION -------------- - -### Database - -Edit the file `config/db.php` with real data, for example: - -```php -return [ - 'class' => 'yii\db\Connection', - 'dsn' => 'mysql:host=localhost;dbname=yii2basic', - 'username' => 'root', - 'password' => '1234', - 'charset' => 'utf8', -]; -``` - -**NOTES:** -- Yii won't create the database for you, this has to be done manually before you can access it. -- Check and edit the other files in the `config/` directory to customize your application as required. -- Refer to the README in the `tests` directory for information specific to basic application tests. - - -TESTING -------- - -Tests are located in `tests` directory. They are developed with [Codeception PHP Testing Framework](https://codeception.com/). -By default, there are 3 test suites: - -- `unit` -- `functional` -- `acceptance` - -Tests can be executed by running - -``` -vendor/bin/codecept run -``` - -The command above will execute unit and functional tests. Unit tests are testing the system components, while functional -tests are for testing user interaction. Acceptance tests are disabled by default as they require additional setup since -they perform testing in real browser. - - -### Running acceptance tests - -To execute acceptance tests do the following: - -1. Rename `tests/acceptance.suite.yml.example` to `tests/acceptance.suite.yml` to enable suite configuration - -2. Replace `codeception/base` package in `composer.json` with `codeception/codeception` to install full-featured - version of Codeception - -3. Update dependencies with Composer - - ``` - composer update - ``` - -4. Download [Selenium Server](https://www.seleniumhq.org/download/) and launch it: - - ``` - java -jar ~/selenium-server-standalone-x.xx.x.jar - ``` - - In case of using Selenium Server 3.0 with Firefox browser since v48 or Google Chrome since v53 you must download [GeckoDriver](https://github.com/mozilla/geckodriver/releases) or [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/downloads) and launch Selenium with it: - - ``` - # for Firefox - java -jar -Dwebdriver.gecko.driver=~/geckodriver ~/selenium-server-standalone-3.xx.x.jar - - # for Google Chrome - java -jar -Dwebdriver.chrome.driver=~/chromedriver ~/selenium-server-standalone-3.xx.x.jar - ``` - - As an alternative way you can use already configured Docker container with older versions of Selenium and Firefox: - - ``` - docker run --net=host selenium/standalone-firefox:2.53.0 - ``` - -5. (Optional) Create `yii2basic_test` database and update it by applying migrations if you have them. - - ``` - tests/bin/yii migrate - ``` - - The database configuration can be found at `config/test_db.php`. - - -6. Start web server: - - ``` - tests/bin/yii serve - ``` - -7. Now you can run all available tests - - ``` - # run all available tests - vendor/bin/codecept run - - # run acceptance tests - vendor/bin/codecept run acceptance - - # run only unit and functional tests - vendor/bin/codecept run unit,functional - ``` - -### Code coverage support - -By default, code coverage is disabled in `codeception.yml` configuration file, you should uncomment needed rows to be able -to collect code coverage. You can run your tests and collect coverage with the following command: - -``` -#collect coverage for all tests -vendor/bin/codecept run --coverage --coverage-html --coverage-xml - -#collect coverage only for unit tests -vendor/bin/codecept run unit --coverage --coverage-html --coverage-xml - -#collect coverage for unit and functional tests -vendor/bin/codecept run functional,unit --coverage --coverage-html --coverage-xml -``` - -You can see code coverage output under the `tests/_output` directory. +- net stop winnat +- net start winnat \ No newline at end of file