# Учебный проект

В разделах [Развертывание проекта](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/manual-deployment-project), [Подключение и настройка проекта](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/create_project), а так же в уроках по разработке [десктопного приложения](https://wfsys.gitbook.io/wt-practice/), [мобильного приложения](https://wfsys.gitbook.io/wt-practice-mobile/) и [web-приложения](https://wfsys.gitbook.io/wt-practice-web/) будем использовать приложение-черновик. На основе этого приложения вы можете создать свое собственное клиент-серверное решение, либо по завершению уроков из обучающих пособий использовать получившееся решение.

{% hint style="info" %}
Учебный проект распространяется по *лицензии типа "Trial"* с ограничением на **5 пользователей** и сроком **1 год**.

Если необходимо расширить лицензию учебного проекта или на его основе создать новое приложение, то можете связаться с разработчиком платформы WT, перейдя на сайт [wfsys.ru](https://wfsys.ru/contacts/).
{% endhint %}

Скачать архив с учебным приложением можно по ссылке ниже:

{% file src="<https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2F8AH0m8GnfjF1RPXg0KyI%2FTemplate.zip?alt=media&token=730fa3e6-863d-4b21-8915-10e252967e1c>" %}
Учебный проект
{% endfile %}

## Структура проекта <a href="#project-structure" id="project-structure"></a>

Разархивируйте учебный проект в нужную папку, например, D:\WT\Projects. Папка проекта имеет следующую структуру:

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2F8eYTowlhvjJxvuoHLWHN%2Fimage.png?alt=media&#x26;token=ad16a310-cea2-4822-80fd-d2aa9fe6e2dc" alt=""><figcaption></figcaption></figure>

По сути **Template** - это одно клиентское решение, которое может включать различные бизнес-процессы. Эти бизнес-процессы будут представлены отдельными каталогами в папке **Projects**. В учебном проекте только один бизнес-процесс - **Template**.

Все бизнес-процессы клиентского решения будут смотреть в одну базу данных. Поэтому в папке **Development\database\create\\** находится один файл резервной копии для создания пустой базы данных с системными таблицами - **create.backup**. Структуру базы данных рассматриваем в разделе [Описание структуры базы данных](https://wfsys.gitbook.io/workflow-technology/manual-deployment-project#database_structure) статьи [Ручное разворачивание](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/manual-deployment-project).

В каталоге бизнес-процесса **Projects\1. Template\\** размещаются компоненты необходимые этому процессу - xml-файлы форм, серверный xml-файл с SQL-запросами, исходный код кастомных компонент и подобное.

Учебный проект поддерживает desktop-версию и web-версию приложения:

* в папке **Projects\1. Template\Forms** хранится xml-файл стартовой формы **TemplateStart.xml**;
* в папке **Projects\1. Template\WebForms** хранятся xml-файлы для стартовой формы и формы логина.

{% hint style="info" %}
Desktop-версия и web-версия WT-приложения могут заменять друг друга, а могут дополнять функционал и расширять возможности. Например, web-приложение для реализации личного кабинета или онлайн заказов товаров и услуг.

В рамках учебного проекта можете выбрать одну из версий WT-приложения и пройти практический курс по реализации полноценного клиент-серверного приложения.
{% endhint %}

В папке **Projects\1. Template\Web** хранится исходный код приложения для построения исполнительного файла web-приложения на основе razor-страниц.

В папке **Projects\1. Template\Workflow** хранится xml-файл серверной части - **Template.xml**. В этом файле описываются SQL-запросы и серверные команды, доступные и desktop-версии и web-версии приложения. К этому же файлу будет обращаться сервер WT-приложения и при обработке запросов от мобильных приложений.

## Дальнейший план <a href="#further-plan" id="further-plan"></a>

Первым делом необходимо развернуть проект, чтобы иметь возможность запустить сервер и открыть стартовую форму. В статье [Развертывание проекта](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/manual-deployment-project) рассмотрим ручной процесс развертывания WT-программы и настройку файлов конфигурации серверной и клиентских частей. А в статье [Workflow Installer](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/workflow-installer) рассмотрим автоматический процесс установки WT-программы с помощью утилиты.

Если планируете разрабатывать web-версию приложения, то обратитесь к статье [Добавление web-приложения](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/manual-deployment-project/adding_web-app), чтобы настроить серверную часть для поддержки web-клиентов.

Если планируете в проект добавить мобильное приложение, то после развертывания проекта прочтите статью [Добавление мобильного приложения](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/manual-deployment-project/adding_mobile_app), чтобы настроить серверную часть для поддержи мобильных клиентов.

В статье [Установка Workflow XML Editor](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/editor_installation) дана инструкция по установке и настройке плагина Workflow XML Editor для среды разработки Eclipse.

О том, как подготовить проект для работы с ним в редакторе Workflow XML Editor, читайте статью [Подключение и настройка проекта](https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/create_project).

После развертывания проекта и настройки среды разработки можете приступать к практическим занятиям:

1. [Разработка десктопного приложения](https://wfsys.gitbook.io/wt-practice/)
2. [Разработка мобильного приложения](https://wfsys.gitbook.io/wt-practice-mobile/)
3. [Разработка Web-приложения](https://wfsys.gitbook.io/wt-practice-web/)
