Новокшанов Евгений

Backend-разработчик

Backend разработчик с опытом разработки микросервисов. Специализируюсь на разработке на таких языках как Golang, Python, C++. Позитивный, открытый, исполнительный, умею работать в команде. Есть желание развивать свои hard и soft skills. Готов справляться с любыми препятствиями для решения поставленных задач.


Подробнее о проекте Хакатон АТОМХАК 2024

Project Image

Стек проекта

  • Golang, NATS-streaming
  • Python, Flask
  • Dart, Flutter
  • PostgreSQL
  • Docker, docker-compose

Задание: На компьютерах на Марсе будет софт, позволяющий любому учёному вести отчётность по своей работе. Каждый отчёт это форма из следующих полей: имя учёного текстовое содержание отчёта опционально один приложенный к отчёту файл любого формата Система автоматически проставляет отчёту даты создания и, при необходимости, статус. Можно добавлять в отчёт новые атрибуты на усмотрение разработчика. Любой отчёт или группа отчётов могут быть отправлены на Землю. Сложность в том, что соединение с Землёй неустойчиво, оно есть не всегда, а только в какие-то заранее известные промежутки времени (см. ниже), при этом информация до Земли и обратно идёт несколько минут.

UI

  • Flutter - комплект средств разработки и фреймворк с открытым исходным кодом для создания мобильных приложений под Android и iOS, веб-приложений, а также настольных приложений под Windows, macOS и Linux с использованием языка программирования Dart, разработанный и развиваемый корпорацией Google.

Backend

  • NATS-Streaming - это высокопроизводительный потоковый сервер для системы обмена сообщениями NATS.
  • FastAPI - асинхронный веб-фреймворк для создания API, написанный на Python.
  • PostgreSQL - свободная объектно-реляционная система управления базами данных (СУБД).

Процесс разработки

Разработка и развертывание системы включили в себя несколько ключевых этапов:

  • Анализ требований. На этом этапе мы определяли функциональные и технические требования к системе.
  • Проектирование. На этапе проектирования мы разработали архитектуру системы и основные протоколы взаимодействия между сервисами.
  • Разработка. На этапе разработки мы с backend-командой разработали систему неперывной передачи сообщений в побайтовом режиме.С командой разработки приложения мы написали код на Dart c использованием Flutter. Также была реализована БД на основе СУБД PostgreSQL
  • Развертывание. осле того как система была протестирована, мы развернули ее на сервере. Это шаг включал в себя написание Docker файлов и организация их работы с помощью docker-compose.

Спроектированная архитектура

Project Image