OSDN Git Service

Модификация импорта
[invent/invent.git] / README.md
index b24eaa6..9014311 100644 (file)
--- a/README.md
+++ b/README.md
@@ -4,8 +4,11 @@
     </a>
     <h1 align="center">Yii 2 Basic Project Template</h1>
     <br>
+    Yii 2 Basic Project Template is a skeleton [Yii 2](http://www.yiiframework.com/) application best for rapidly creating small projects.
 </p>
 
+<h1 align="center">Инвентаризация</h1>
+
 <h1>ВНИМАНИЕ!</h1>
 <p>Перед использованием, необходимо внести изменения в файлы:</p>
 <ul>
     <li><code>/config/web.php</code> - указать cookieValidationKey 32 символа.
 </ul>
 
+Предыстория
+-----------
 
-Yii 2 Basic Project Template is a skeleton [Yii 2](http://www.yiiframework.com/) application best for
-rapidly creating small projects.
-
-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.
-
-[![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 Status](https://travis-ci.com/yiisoft/yii2-app-basic.svg?branch=master)](https://travis-ci.com/yiisoft/yii2-app-basic)
-
-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
-
-
-
-REQUIREMENTS
-------------
-
-The minimum requirement by this project template that your Web server supports PHP 5.6.0.
-
-
-INSTALLATION
-------------
-
-### Install via Composer
-
-If you do not have [Composer](http://getcomposer.org/), you may install it by following the instructions
-at [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-nix).
-
-You can then install this project template using the following command:
-
-~~~
-composer create-project --prefer-dist yiisoft/yii2-app-basic basic
-~~~
-
-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/basic/web/
-~~~
-
-### Install from an Archive File
-
-Extract the archive file downloaded from [yiiframework.com](http://www.yiiframework.com/download/) to
-a directory named `basic` that is directly under the Web root.
-
-Set cookie validation key in `config/web.php` file to some random secret string:
-
-```php
-'request' => [
-    // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
-    'cookieValidationKey' => '<secret random string goes here>',
-],
-```
-
-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](http://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](http://www.seleniumhq.org/download/) and launch it:
-
-    ```
-    java -jar ~/selenium-server-standalone-x.xx.x.jar
-    ```
+Работая с 2007 года в разных организациях, в ИТ отделе периодически возникала необходимость оперативно произвести
+инвентаризацию установленного оборудования. Решения от 1С это здорово, но именно бухгалтеры и требовали
+удостовериться в том, что оборудование находится именно в указанном месте, а не у кого-то дома. К тому же
+1С открывать в кадом кабинете или хлдить с бумажкой и чекрыжить позиции здорово, но не эффективно.
 
-    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:
+Тогда зародилась мысль реализовать более мобильную и более гибкую версию инвентаризации.
+Что должна выполнять программа:
+1. Учитывать оборудование по типам, моделям, серийным номерам, сетевым именам (если возможно), MAC и т.п., состоянию
+2. Учитывать месторасположения оборудования как в подразделении, так и в различныых подразделениях/филиалах.
+3. Учитывать перемещения и изменение состояния оборудования
 
-    ```
-    # 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
-    ```
+Программа много раз начинала писаться с нуля, так как при переходе из одной организации в другую, исходники
+оставались на старой работе. Порой из-за более насущных задач системного администрирования, приходилось откладывать
+разработку в долгий ящик и всё забывалось. Все эти пертурбации достали и я решил использовать систему контроля
+версий на внешнем сервере GihHub/GitLab, где сейчас всё это расположено.
 
-5. (Optional) Create `yii2_basic_tests` database and update it by applying migrations if you have them.
+За основу взят фреймворк Yii2 Basic, о чём и указано в начале этого файла.
 
-   ```
-   tests/bin/yii migrate
-   ```
+Для установки достаточно установить Yii 2 на сервер, например, по [этому руководству] (https://www.yiiframework.com/doc/guide/2.0/ru/start-installation), далее
+используя механизм git, клонировать этот проект, внести необходимые коррективы учитывающие специфику работы на
+сервере и пользоваться.
 
-   The database configuration can be found at `config/test_db.php`.
+git clone https://github.com/DimkaInc/invent.git
+или
+git clone https://gitlab.com/DimkaInc/invent.git
 
+Для начала использования необходимо внести правки в файлы:
 
-6. Start web server:
+./config/params.php, изменив электронную почту на нужную для отправки уведомлений
+./config/db.php, изменив доступ к серверу БД и название БД
 
-    ```
-    tests/bin/yii serve
-    ```
+Затем выполнить следующие команды:
 
-7. Now you can run all available tests
+./yii migrate/up
+./yii migrate --migrationPath=@yii/rbac/migrations
+./yii rbac/init
 
-   ```
-   # run all available tests
-   vendor/bin/codecept run
+Проект находится в режиме постоянной разработки.
 
-   # run acceptance tests
-   vendor/bin/codecept run acceptance
+Если вам не трудно, поддержите мой проект.
+<a href="https://promo-money.ru/quickpay/shop-widget?writer=seller&targets=%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82&targets-hint=&default-sum=300&button-text=14&payment-type-choice=on&mobile-payment-type-choice=on&hint=&successURL=https%3A%2F%2Fgithub.com%2FDimkaInc&quickpay=shop&account=41001153778587" target="blank">Поддержать проект</a>
 
-   # 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:
+1.28 Внесены изменеия в способ авторизации пользователей. Теперь пользователи хранятся в базе данных. Добавлен
+контроль доступа на основе ролей (RBAC).
 
-```
-#collect coverage for all tests
-vendor/bin/codecept run -- --coverage-html --coverage-xml
+1.27 Добавлена возможность начать инвентаризацию из списка предметов/оборудования. Добавлена цветовая пометка
+списанного, инвентаризированного и не инвентаризированного оборудования. Добавлена форма инвентаризанции с
+отображением фильтрации по региону/подразделению и местам размещения. Включена возможность считывания QR-кода
+с последующим учётом как проинвентаризированный предмет/оборудование.
+В программе используется плагин html5-qrcode.
 
-#collect coverage only for unit tests
-vendor/bin/codecept run unit -- --coverage-html --coverage-xml
+1.26 Расширен функционал. Появилась возможность создавть PDF файл с QR-кодами, содержащими инвентарный и серийный
+номера как для всех предметов/оборудования, так и для выбранных. Формирование доступно из списка предметов/
+оборудования путём нажатия кнопки "Печать этикеток", а так же путём отметки строк для печати и нажатия на иконку
+принтера в одной из строк с предметом/оборудованием.
+В программе используется плагин kartik-v/yii2-mpdf.
 
-#collect coverage for unit and functional tests
-vendor/bin/codecept run functional,unit -- --coverage-html --coverage-xml
-```
+1.25 Добавлен учёт перемещений оборудования и систояний. Для каждой записи перемещений сделано безразмерное
+поле комментариев. Подправлены баги реализации связей в программе. Исключена возможность удаления самой
+первой записи перемещений для каждого оборудования.
 
-You can see code coverage output under the `tests/_output` directory.
+0.01-1.24 Производится учёт оборудования по типам, сетевым именам, моделям, операционной системе, MAC адресам, серийному
+и инвентарному номерам, коду оборудования, номеру модели, размещению, состоянию, дате записи и комментариям для
+дополнительной информации. На стартовой странице формируются сводные таблицы учитываемого оборудования по
+подразделениям и типам.