Добавить в корзинуПозвонить
Найти в Дзене

Часть 9. Как объяснить бэкендеру структуру БД, а фронтендеру - дизайн.

Архитектуру проекта выбрал следующую: сервер на виртуальной машине Yandex.cloud, операционная система Linux ubuntu. База данных PostgreSQL тоже на Yandex.cloud. Язык разработки серверной части приложения Python, фреймворк - Django. Как видите, теперь выбираю то, на что сложно или невозможно наложить санкции))) Чтоб можно было как-то визуализировать схему БД и работать с ней - вносить правки, копировать - установил Camunda Modeler. В этой программе очень удобно рисовать блок-схемы бизнес-процессов. А также и схемы базы данных. Весь свой проект разделил на функциональные блоки. Первый блок это Dispatcher и вот такая структура получилась: Мне повезло с бэкендером - понимание у нас было полное. По ходу написания кода совместно вносили правки и изменения в структуру или алгоритмы. Сказывалось то, что приложение уже существовало (хоть и на другой системе и другой СУБД), а также мои полученные знания в Яндекс.Практикуме позволяли мне читать код (писать код не мог - опыта было слишком мало). Я

Архитектуру проекта выбрал следующую: сервер на виртуальной машине Yandex.cloud, операционная система Linux ubuntu. База данных PostgreSQL тоже на Yandex.cloud. Язык разработки серверной части приложения Python, фреймворк - Django. Как видите, теперь выбираю то, на что сложно или невозможно наложить санкции)))

Чтоб можно было как-то визуализировать схему БД и работать с ней - вносить правки, копировать - установил Camunda Modeler. В этой программе очень удобно рисовать блок-схемы бизнес-процессов. А также и схемы базы данных.

Весь свой проект разделил на функциональные блоки. Первый блок это Dispatcher и вот такая структура получилась:

Часть схемы базы данных на Camunda Modeler
Часть схемы базы данных на Camunda Modeler

Мне повезло с бэкендером - понимание у нас было полное. По ходу написания кода совместно вносили правки и изменения в структуру или алгоритмы. Сказывалось то, что приложение уже существовало (хоть и на другой системе и другой СУБД), а также мои полученные знания в Яндекс.Практикуме позволяли мне читать код (писать код не мог - опыта было слишком мало). Я понимал как всё устроено и мог давать даже какие то советы. Я понимал все термины и понятия, а также профессиональный слэнг.

В апреле реализовал свой первый полностью рабочий проект - телеграм-бота, который принимал заявки от клиентов и регистрировал их в журнале диспетчера (пока еще в FileMaker). Сделал его на python и разместил физически на виртуальной машине yandex.cloud. По честному скажу, что сделать деплой на сервер помог бэкендер.

В начале мая уже подходила к концу разработка серверной части и нужно было продумать фронтенд. Для себя сразу решил, что это будет web-приложение. Разработать десктопное приложение стоит в планах, но это не приоритетная задача. Нужно срочно портировать приложение с FileMaker. Дедлайн уже в декабре. Поэтому пока только web.

Поиск фронтендера решил осуществлять на https://freelance.habr.com/ - сервис очень понравился. Во-первых, много ребят-фрилансеров и IT-компаний, которые предлагают свои услуги практически в любом направлении сферы IT. Во-вторых, можно разместить тех.задание (в усеченном виде) своего проекта. А также требования по используемым технологиям. То есть этот сервис уже на этом этапе оказывает очень большую помощь обеим сторонам в быстром и правильном принятии решения. Ну и в-третьих, очень много было откликов на мой заказ (я даже не ожидал). Короче, сервис - супер! Рекомендую.

Выбор пал на разработчика-одиночку. Оказалось, что и живем почти рядом. В общем, приступили к разработке фронтенда.

И тут выяснилось, что мы с ним друг друга не понимаем. Многие термины web-разработки для меня были абра-кадаброй. То, что пытался донести я - не понимал он. То, что говорил мне он - не понимал я. Хорошо, что у меня был уже нанятый бэкендер, который стал нашим переводчиком.

Совместно выработали примерные структуру и функционал клиентской части приложения. Бэк к тому времени уже закончил все url для API-запросов. Поэтому фронтендер смог понять как веб-приложение будет взаимодействовать с сервером, какую информацию посылать и какую получать.

Кроме того, мое работающее приложение на FileMaker я использовал как работающий макет. Но почти сразу выяснилось что этого мало. Для фронтендера нужен еще UX/UI дизайн. Так то он нужен не только для него)))). Он нужен всем.

И чтобы не спорить по-каждому размеру шрифта и иконке кнопки - нужен был дизайнер. Пошел искать дизайнера UX/UI...

Продолжение...