О п роекте и решении
Разработка приложения на базе Атомкод связана с понятиями проект и решение.
Проект
Проект — папка с набором файлов, необходимых для разработки приложения или области функциональности приложения на базе Атомкод.
Разрабатываемое приложение может включать один и более проектов, созданных на базе одной версии Атомкод.
Вы самостоятельно принимаете решение о количестве создаваемых проектов. При проектировании приложения рекомендуется руководствоваться следующими соображениями:
- чем большее количество функций приложение должно выполнять, тем больше оснований разрабатывать это приложение на базе множества проектов;
- управление проектом с меньшим набором функций требует меньших трудозатрат и проще с точки зрения отладки;
- проект с меньшим набором функций можно в дальнейшем использовать как к омпонент других разрабатываемых приложений.
В Атомкод различают следующие типы проектов:
- 
Пользовательский: проект, который вы разрабатываете согласно бизнес-требованиям к приложению. DevTools содержит шаблон проекта с набором файлов и папок. Вы создаете проект на основе шаблона или путем импорта и модификации импортированного проекта. Пользовательский проект, который использует файлы других проектов, называется зависимым. Зависимый проект может использовать следующие файлы: - *.mdmodel;
- *.mddict;
- *.mdfunctions;
- *.css;
- файлы из папки static.
 
- 
Системный: проект, который поставляется в составе дистрибутива Атомкод. В списке проектов отображается как Main. Системный проект запрещено удалять. Системный проект содержит следующие файлы, которые используются пользовательскими проектами: - 
в папке containersнаходятся следующие файлы описания системных экранных форм:- login.mdcontainer: отображает пользовательскую форму входа в приложение. Управление отображением пользовательской формы входа или формы входа по умолчанию производится в консоли администрирования AdminTools.
- lockout.mdcontainer: отображает информацию о блокировке пользователя.
- error.mdcontainer: отображает информацию об ошибке.
- errorPage.mdcontainer: отображает ошибку HTTP 404.
- changePassword.mdcontainer: отображает форму смены пароля.
- alert.mdcontainer: отображается при вызове метода Alert() библиотеки FrontendCore.
- AccessDenied.mdcontainer: отображает информацию о запрете доступа к странице приложения.
- selectProvider.mdcontainer: отображается до момента отображения- login.mdcontainerдля выбора поставщика политик авторизации — Active Directory или локальный.
- waiting.mdcontainer: отображает индикатор загрузки после отправки пользователем запроса.
- masterPage.mdcontainer: описывает структуру экранной формы, отображаемой при открытии любого приложения на базе Атомкод. В левой части экранной формы masterPage отображается меню.
- mainPage.mdcontainer: отображает с тартовую страницу- https://<Atomcode_instance_URL>/demo.
- UserProfile.mdcontainer: отображает пример страницы с информацией о пользователе.
 
- 
в папке containers\fragmentsнаходятся следующие файлы описания фрагментов экранных форм:- ChangePasswordCustom.mdcontainer: отображает пример страницы, используемый в- UserProfile.mdcontainer.
- FileExplorer.mdcontainer: отображает проводник файлов.
- FilePreview.mdcontainer: отображает содержимое файла, выбранного в проводнике файлов.
- TechSupport.mdcontainer: отображает форму обращения в Службу технической поддержки.
 
- 
в папке dictionariesнаходится файлindex.mddict, содержащий словари Platform, Menu и TechSupport, которые используются для отображения локализованных строк на перечисленных экранных формах.
- 
в папке staticнаходятся значки и изображения, которые используются на перечисленных экранных формах.
- 
в файле Static.assetперечислены значки и изображения, находящиеся в папкеstatic, с присвоенными псевдонимами.
- 
в папке stylesнаходится файлStyle.mdtheme, который описывает основную тему приложения, цветовые палитры, отступы, кратность отступов, размер шрифта. Также в этой папке находится файлCSS.css, описывающий каскадные таблицы стилей системного проекта.
- 
в папке utilsнаходится файлvalidations.mdvalidations, который описывает правила валидации данных на перечисленных экранных формах.
 Пользовательские проекты также используют локали, указанные в файле Main.mdproj.
- 
- 
Служебный. В списке проектов отображается как System. Служебный проект запрещено изменять и удалять. Артефакты служебного проекта используются для настройки доступа к хранилищу данных Атомкод. 
Все файлы проекта хранятся в файловой системе бэкенд-сервиса DevTools. Также файлы проекта могут быть сохранены в репозитории системы управления версиями.
В процессе разработки приложения к проекту применимы следующие оп ерации:
- сборка — проверка файлов проекта на соответствие определенным правилам и формирование набора файлов на основе исходных файлов;
- публикация — доставка определенных файлов на сервер Атомкод для последующего запуска разработанного проекта.
Решение
Решение — группа проектов, содержащая один или более пользовательских проектов, один системный проект и один служебный проект, которые хранятся в одной ветви репозитория системы управления версиями. Решение имеет имя и URL-адрес, начало которого совпадает с URL-адресом экземпляра Атомкод. Решения в Атомкод позволяют изолировать проекты или группы проектов друг от друга.
В одном экземпляре Атомкод можно создавать несколько решений. Плитки с и менами решений отображаются на странице https://<Atomcode_instance_URL>.
Параметры решения хранятся в скрытом файле.