Управление проектированием объектов капитального строительства в cфере здравоохранения.
Веду разработку сервиса для управления проектной документацией (хранение, поддержка версионности, согласование) в сфере капитального строительства.
Сервис состоит из клиентской и серверной части.
Клиентская часть является desktop приложением, написана на Python с использованием фреймворка PySide6, и библиотек для работы с протоколами HTTP и AMQP. При написании клиентской части применены паттерны ООП и асинхронного программирования.
Серверная часть написана с использованием Flask, SQLAlchemy, Pytest. Используется БД PostgreSQL, сервер очередей сообщений RabbitMQ, выполнена интеграция с файловым хранилищем SeaFile посредствам API. Серверная часть размещена в контейнерах под управлением Docker на Ubuntu Server.
Управление проектированием объектов капитального строительства в сфере здравоохранения.
Выступал в роли бизнес-заказчика, подготавливал требования на разработку сервиса по управлению документацией в сфере капитального строительства в г. Москве. Данный сервис предназначен для автоматизации бизнес-процессов связанных с разработкой, хранением и согласованием документации, на всех стадиях циклов проектирования, строительства, ввода в эксплуатацию и демонтажа объектов строительства.
Приступил к самостоятельной разработке приложения на Python для управления проектной документацией (хранение, поддержка версионности, согласование) в сфере капитального строительства.
Получил знания и навыки в создании бэкенд части приложений на Python, в проектировании SQL баз данных, работе с ORM, шаблонизаторами.
Также были изучены распространенные структуры данных, основные алгоритмы для работы со структурами данных, паттерн ООП, основы HTML и CSS.
Изучены фреймворки Flask, Django, библиотеки Jinja, SQLAlchemy, Marshmallow, Psycopg2, pytest, а также получены практические навыки работы с Git, ORM, Swagger, Linux и навыки развертывания серверной части приложения на удаленном сервере с использованием gunicorn.
Помимо изучения основного курса, самостоятельно были изучены основы компьютерных сетей и телекоммуникаций, методы асинхронного программирования с использованием функционала async/await, метод конкурентной многопоточной организации работы приложения с использованием модуля Threading, метод развертывания приложений в контейнерах с использованием Docker и Docker-Compose, система очередей сообщений RabbitMQ, а также фреймворк для создания GUI PySide6/PyQt6.
По результатам прохождения курса было написано приложение для хранения и обмена сниппетами кода с использованием Django. Для ознакомления сервис доступен по ссылке https://snippets.sliplab.net.
Полученные знания и навыки были применены при создании собственного десктопного приложения для хранения, контроля и согласования документации в сфере капитального строительства. В настоящее время приложение дорабатывается.
С кодом можно ознакомиться на моем гитхабе https://github.com/slip686