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

В разделах [Развертывание проекта](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/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wfsys.gitbook.io/workflow-technology/setting-up-dev-environment/educational-project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
