Сообщество - ИТ-проекты пикабушников

ИТ-проекты пикабушников

590 постов 3 428 подписчиков

Популярные теги в сообществе:

3

Лёрника, часть следующая

Всем привет! продолжаю работать над сервисом, пока что в демо режиме, доступен по ссылке:

https://learnika.ru/

сделал следующую стадию: Календарь. учитель может сделать слот с занятием, назначить тему, цену, время, ученика. Ученик, в свою очередь, должен этот урок подтвердить.

Тут хотелось бы выслушать "отзывы и предложения" по работе слотов, что улучшить, что доделать.

желтый, как вы понимаете, неподтвержденный урок. он ожидает подтверждения от ученика, чуть позже добавлю туда клавишу "подключиться к видеоконференции".

Вид со стороны ученика:

И... как долго я ругался с этим фронтом, ненавижу js! С сервером проблем нет и небыло за все время! написал сервисы, эндпоинты, энтити, все работает, curl запросы отправляет, данные ходят во все стороны, но на странице нормально не отображается, или вообще модальное окно не открывается вовсе. Но, я победил.

следующий этап: "оставьте отзыв" на преподавателя и кастомизация подключение jitsi.

еще пришла в голову идея сделать тесты для пользователей, чтобы учитель мог сделать на платформе тестовые формы, и мог давать их своим ученикам.

точки и запятые насыпал вот тут: .............,,,,,,,,,,,,,,,, кто "чувствительный" могут брать оттуда и расставлять по своему усмотрению.

как то так, всем спасибо за внимание!

Показать полностью 2
4

Сделал сайт за 3 часа, а потом ещё 8 учил ИИ не звучать как… ИИ

Захотел поиграться с ИИ генераторами кода и сайтов "под ключ". Вспомнил про lovable, посидел 3 вечера - и получилась такая штука: realt-texts.com.

Вводишь данные об объекте недвижимости, жмёшь кнопку - получаешь человеческий текст для объявления, описывающий квартиру/дом, локацию (реальные данные с описанием), и переписанные красиво твои кривые тезисы, если ты их ввел в отдельном поле.

Началось все с того, что сижу как-то, скучаю, и вижу когда-то давно открытую вкладку с сервисом lovable (не реклама этого сервиса, потому что если тут реклама, то скорее моего "детища", но этот сервис реально хорош).

Сам сайт я собрал где-то за три часа.
А вот чтобы ИИ перестал звучать как ИИ и учитывал все, что мне нужно, ушло ещё часов 8.

Я ничего не делал руками, только общаллся с ИИ ассистентом, и иногда использовал ChatGPT в помощь, когда мне казалось, что lovable ассистент недостаточно умный в какой-то узкой задаче.


Час 1 — из идеи в «о, оно уже что-то умеет»

В lovable.dev набросал задачу в духе:

«Сделай веб-сервис, где пользователь вводит параметры объекта недвижимости, а сервис генерирует описание. Нужны фронт и бэк».

Через какое-то время у меня:

  • уже есть работающие основные "команды"

  • компоненты

  • базовые стили

  • бэкенд-эндпоинты

Технически всё ок, но визуально это кричало:
«Я — авто-сгенерированный шаблон, меня делали за пять минут».

Поэтому первый час ушёл на приведение этого в человеческий вид:

  • подчистил верстку

  • попросил сделать интерфейс более минималистичным и сфокусированным

  • поправил отступы и шрифты, чтобы не выглядело как демка конструктора

  • упростил сценарий: зашёл → ввёл параметры → нажал «сгенерировать»

Без фигмы, без дизайна в сто итераций. Просто спорил с ИИ ассистентом, пока картинка не стала минимально приятной.

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


Час 2 — прикручиваем мозги: ИИ, база и PDF

Когда внешне всё перестало раздражать, надо было заставить сервис делать что-то полезное.

Во второй час я попросил подключить ИИ модель и базу данных.

Генерация текста

  • настроил бэкенд-эндпоинт, который принимает ввод пользователя и настройки

  • подключил к нему вызов модели

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

База данных

Сохраняю:

  • сгенерированные описания

  • немного метаданных — какие параметры были, когда сгенерировано и т. д.

Это нужно, чтобы потом можно было посмотреть, чем люди вообще пользуются и что стоит улучшать.

PDF

  • сделал эндпоинт, который берёт готовый текст

  • рендерит его в аккуратный PDF

  • отдаёт файл на скачивание

Итого ко второму часу у меня уже есть рабочее ядро:

Пользователь вводит данные → жмёт кнопку → получает описание + PDF.

Не идеально, но больше, чем «получите ваш список параметров обратно».


Час 3 — домен, HTTPS и ощущение «что-то поехало»

Следующий логичный шаг — вытащить всё это на нормальный домен.

В несколько кликов получилось:

  • зарегистрировать realt-texts.com

  • привязать его к сервису (там какая-то магия была, в основном все само случилось)

И вот через какое-то время применились все настройки, вбиваю в адресную строку только что купленный домен — и там открывается мой сервис.
Красота!


+8 часов — ИИ пишет, но читать это не хочется

На этом этапе можно было бы сказать «ну всё, готово», но нет.

Интерфейс есть, логика есть, домен есть.
Пробую генерировать тексты — и получаю:

«Предлагается к вашему вниманию прекрасная квартира, которая станет идеальным вариантом для комфортной жизни…»

То есть формально всё нормально, но сухо, однообразно и кривовато.

И.... дальше примерно 8 часов ушло на то, чтобы ИИ перестал звучать как робот.

Что пришлось делать

1. Мучить system prompt

Переписывал его много раз, задавая:

  • более живой тон

  • нежелательные клише и фразы

  • как себя вести, если информации мало

  • как реагировать, если пользователь прислал гигантский текст со своими формулировками

2. Тестировать реальные сценарии

Гонял всё подряд:

  • «мне нужно описание студии в новостройке» — и больше ничего

  • длинные описания с кучей условий и запретов

  • кривые, обрывочные фразы — как обычно пишут в реальных формах

3. Борьба с тараканами

Вылезали классические проблемы ИИ:

  • слишком общий, безликий текст

  • игнорирование части инструкций

  • неожиданные скачки стиля — от "канцелярита" до странного дружеского «эй, бро, смотри какая квартирка»

4. Задание структуры

Пришлось более жёстко задавать рамки:

  • примерную длину описания

  • порядок: сначала локация и ключевые плюсы, потом уже детали

  • как обходиться с отсутствующей информацией — чтобы ИИ не додумывал «вид на море» там, где максимум вид на соседний подъезд

И да, это действительно заняло больше всего времени.
Код, база, домен — всё это делается намного быстрее, чем «сделай так, чтобы ИИ писал как нормальный человек».


+2 часа — полировка, чтобы не казалось, что это сырая демка

Когда тексты перестали вызывать внутренний фейспалм, я сел доводить всё до состояния «этим не стыдно поделиться с незнакомыми людьми».

За примерно 2 часа:

  • сделал адекватные состояния загрузки, пока модель думает

  • добавил нормальную обработку ошибок, чтобы вместо сухой «ошибка» был понятный текст

  • переписал подписи на кнопках и подсказки, чтобы всё звучало проще и дружелюбнее

  • проверил мобильную версию и поправил всё, что поехало на маленьких экранах

Вроде мелочи, но уже ощущение, что у меня получается что-то приличное.


Аналитика, cookies и немного SEO

Перед тем как думать о посетителях, хотелось хотя бы понимать, что они будут делать на сайте, а еще у нас же международный сервис - нужно кукис принимать в явном виде.

За примерно час:

  • подключил Google Analytics, проверил, что события прилетают

  • добавил простой баннер про cookies (там тоже как-то сразу из гугла мне предложило несколько сервисов, которые это настраивают)

После этого уже имело смысл чуть-чуть заняться SEO.
Тут помог ChatGPT:

  • накидали фразы, которые могут вводить риелторы и продавцы

  • переписали заголовок страницы, описание и часть текста так, чтобы и понятно было, и поисковикам не грустно

  • нагенерили тексты, описания, отзывы (ну да, грешен :)

Настоящим SEO это не назовёшь, но для старта пока нормально.


Что по времени в итоге

  • 1 час — базовый внешний вид и верстка

  • 1 час — генерация текста + база + PDF

  • ~1 час суммарно — домен, аналитика, cookies

  • 8 часов — настройка поведения ИИ и промптов

  • 2 часа — полировка интерфейса и пользовательских мелочей

  • 2 часа — мини-SEO вместе с ChatGPT

В сумме получилось около 15 часов от идеи до живого AI-сервиса на отдельном домене.

Показать полностью
6
Вопрос из ленты «Эксперты»

Как один исчезнувший стикер довел меня до написания бота

Думаю, каждый, кто активно пользуется Telegram, сталкивался с этим чувством: на экране всплывает уведомление, вы видите начало фразы, но стоит разблокировать телефон и открыть чат — а сообщения уже нет. Остается только гадать, что там было: опечатка или важная информация, которую от вас решили скрыть?

Меня как разработчика эта ситуация всегда цепляла. Это не просто мелкое неудобство, а сломанный пользовательский опыт: информация была доставлена, но тут же отобрана. Я решил, что с этим можно что-то сделать, и так появился мой пет-проект — бот, который возвращает пользователю контроль над его диалогами.

Что умеет бот

Идея была в том, чтобы создать инструмент, который фиксирует первоначальное состояние сообщений. Если собеседник решит что-то удалить или изменить, у вас останется оригинал.

Я сфокусировался на трех ключевых функциях:

• 📝 Перехват удаленных сообщений. Если собеседник отправил сообщение, а через секунду его удалил, бот успеет пересылать вам копию. Это работает со всеми типами контента: текст, голосовые, стикеры, файлы, геолокация и т.д.

• 🔄 История изменений. Когда кто-то редактирует свое сообщение, меняя его смысл, бот присылает наглядное уведомление в формате «Было» / «Стало».

• 📸 Сохранение исчезающих медиа. На мой взгляд, это самая сильная функция. Бот умеет перехватывать самоуничтожающиеся фото и видео. Вместо одноразового просмотра вы получаете полноценный медиафайл, который сохраняется в вашем чате с ботом.

Как один исчезнувший стикер довел меня до написания бота

Немного цифр и первых инсайтов

За несколько месяцев тестирования накопилось примерно 21 тысяча событий (изменение/удаление/исчезающие медиа). И главное открытие: люди куда чаще отправляют исчезающие медиа, чем удаляют текст. Текст чаще просто исправляют. А вот фото — прячут намеренно.

P.S. (это анонимные логи операций, не содержащие содержание сообщений — только типы действий: удаление, редактирование, исчезающие медиа). Если что — бот не сидит с лупой над вашей перепиской. Максимум, что он “видит”, это то, что кто-то где-то что-то удалил. Представляете? У нас даже нет пункта «почитать драму», только «о, кто-то снова нажал удалить у всех». Так что бот остаётся цифровым Форрестом Гампом: он знает, что что-то произошло, но понятия не имеет, что именно. 😄

Под капотом: возможности и ограничения Telegram Business API

Бот работает исключительно через официальный Telegram Business API. Это не сторонний клиент и не "серая" схема.

Однако важно понимать и его ограничения, чтобы не было ложных ожиданий:

1. Бот не видит историю. Он начинает работать только с момента подключения и не имеет доступа к сообщениям, отправленным ранее.

2. Бот работает только в личных чатах. Технология Telegram Business API на данный момент не позволяет отслеживать события в групповых чатах.

Что дальше?

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

Ссылка на бота: @dialog_guard_bot

Показать полностью 1
11

Разработка своей программы, суровые реальности и как такое продавать?

Начнем пожалуй с предыстории.

В далеком прошлом я работал менеджером по логистической инфраструктуре одной крупной компании. В один из рабочих дней, руководство департамента назначает встречу где мы обсуждаем что:

- Нам нужно создать модель которая посчитает нам условия закрытия одного из объектов и как это может повлиять на инфраструктуру, сроки вчера. Чем быстрее тем лучше.

И в этот момент целый департамент принялся проводить анализы, рассчитывать долгосрочную прибыль, затраты и все в этом ключе.

В тот же момент я задумался "А есть ли вообще аналогичная программа, что бы не сидеть и не считать все в табличках, не писать большие запросы в БД?" - ответ был "Есть, но дорого и компания не пойдет на такие затраты".

Спустя время мы конечно закрыли проект со всеми расчетами, применили изменения. Но только вдумайтесь, целый департамент на протяжении пары месяцев считает рентабельность изменения целой инфраструктуры и влияние на него всего лишь закрытием 1-2 объектами. Это колоссальные затраты для компании.

Со временем я перешел в IT, сменил свою сферу деятельности, в свободное время изучал различные языки программирования, фреймворки и понял "А что если разработать аналог для логистической инфраструктуры. Да, конечно дизайн будет не броский, но нам важна лишь функциональность и работоспособность данной программы". Соответственно в начале 25г мною было принято решение начать разработку. Как раз время AI инструментов, не идеальные, но какие-то нюансы они могут подтянуть что бы не лезть в тех доку на изучение той или иной функции/метода/условия.


Язык: Python.

Библиотеки для интерфейса: PyQt6.

Хранилище всей информации: SQLite3.

Частично использовалось: HTML, JS.

И множество второстепенных библиотек для кодирования информации, реализации возможности подключения внешних БД, работы с таблицами и т.п.


Python — язык не самый лучший, да и PyQt библиотека своеобразная и довольно хорошо нагружает систему, сама программа начинает весить тоже немало. Но ведь мы не гонимся за «вау-эффектом».

Перед началом создания программы мною были проведены анализы существующих аналогов. Были варианты на европейском рынке, но все не то либо очень дорого. В основном по моим запросам выдавались программы для

«Оптимизации доставок», «1С:Транспорт», «SAP», «Транспортный анализ» и т.п. Но ни одной подходящей под мое описание программы не было.

Что включало в себя мое виденье всей системы:

  1. Интерактивная карта с маркерами объектов.

  2. Автоматический расчет зонирования регионов в зависимости от исторических данных продаж с доставками.

  3. Отображение линий снабжения объекта прям на карте в формате «Объект А -> Объект Б -> Объект С».

  4. Планирование маршрута при выборе определенных объектов.

  5. Возможность построение интерактивных дашбордов.

  6. Возможность создание различных интерактивных виджетов и их настройка.

  7. Внутренний аналитический куб.

  8. Подключение к внешним БД как к источнику данных и тонкая настройка самим пользователем с маппингом полей.

  9. Создание регионов по складам (ручное выделение самого региона на карте).

И прочие функции, по типу DAX-языка при создании вычислительных полей.

Вишенка на торте всей программы:

10. Анализ инфраструктуры автоматически на ядре программы в формате «Что если?».

А что, если мы закроем магазин на Савеловской — как это повлияет на зону доставок ближайших магазинов/складов. А куда перевозить товар? Сколько машин надо и какая утилизация будет? А какие магазины есть в регионе? А что будет с инфраструктурой, если мы закроем целый склад? Кто теперь будет снабжать товаром магазины? А какая матрица товара есть сейчас? Как изменится структура поставок от основного склада на магазин, будем ли мы задействовать транзитные склады?

Первое, что я начал делать — накидывать БД, да, мы не имеем сервера, поэтому нам надо хранить данные для работы программы локально. Почему не сделать под клиента? Ну-у-у... Возможно, потому что у всех своя структура хранения, а аналитики есть везде, написать SQL-запрос и выгрузить данные по шаблону куда проще, чем делать программу с адаптивом. Имея опыт в работе с логистикой и инфраструктурой, я понимал, какая +- система хранения у всех компаний, труда собрать хранение мне не составило.

Вторым моим шагом стало изолирование всех действий с БД в программе. Т.е. все методы программы не должны общаться на прямую с хранением, а ходить через выделенный файл (ресурс).

Третий шаг — создание интерфейса, вкладок, виджетов и т.д. Можно было сделать через WebView, писать отдельно файлы форм, настраивать JS-логику, передавать сигналы в .py-файлы и т.д. Но это слишком усложняет весь проект, расширяя его код. В таком случае один я уже не смог бы вывести. Поэтому выбрал PyQt6. Долго анализировал, как лучше сделать, но ничего умнее не придумал. Так и родился первый интерфейс программы:

Один из вариантов левого меню.

Один из вариантов левого меню.

Возможность группировать объекты в рамках ближних зон и разгруппировать при приближении.

Возможность группировать объекты в рамках ближних зон и разгруппировать при приближении.

Система отображения линий снабжения.

Система отображения линий снабжения.

Возможность выбрать среди нескольких типов карт.

Возможность выбрать среди нескольких типов карт.

Построение тепловой карты по зонированию доставки с учетом исторических данных. К сожалению, данные были сгенерированы через бота, поэтому есть проблемы в формате историчности.

Построение тепловой карты по зонированию доставки с учетом исторических данных. К сожалению, данные были сгенерированы через бота, поэтому есть проблемы в формате историчности.

Создание отдельных связей между нестандартными таблицами, на этой основе можно построить запросы.

Создание отдельных связей между нестандартными таблицами, на этой основе можно построить запросы.

Возможность построить свои дашборды. Перемещать, настраивать и т.д. 

Возможность построить свои дашборды. Перемещать, настраивать и т.д. 

Подключить внешнюю БД (на примере sqlite как заглушка).

Подключить внешнюю БД (на примере sqlite как заглушка).

Анализ «Что если?». В анализе пока что реализована лишь один тип «Закрытие объекта», в будущем планируется добавить еще множество конструкторов и методов.

Анализ «Что если?». В анализе пока что реализована лишь один тип «Закрытие объекта», в будущем планируется добавить еще множество конструкторов и методов.

Пример работы анализа. Данные не фактические, лишь заглушки для проверки работы.

Пример работы анализа. Данные не фактические, лишь заглушки для проверки работы.

Также есть toolbar с интерактивностью. Наводя на кнопки, они расширяются в бок, показывая текст кнопки.

Также есть toolbar с интерактивностью. Наводя на кнопки, они расширяются в бок, показывая текст кнопки.

Скриншотами выше я показал лишь часть того, что реализовано в программе. В действительности функционал гораздо больше.

Четвертый шаг — создание ядра всего мыслительного процесса, пользователь нажал на кнопку, а что дальше? Дальше как раз таки отдельные компоненты, которые получают запрос и идут по логике дальше, забирают/обновляют/удаляют данные через шаг 2, интерпретируют их и отдают ответы на модули, которые вызывали.

Да, конечно, с ядром программы я возился довольно долго. Ввиду того что это не 1С, а свой, по сути, уникальный продукт, мне на 80% удалось создать полный конструктор ядра. Что это значит? Значит то, что всю дальнейшую логику мне надо лишь описывать в исполняемых файлах core. Это дало прирост к написанию более качественного кода, более чистого. Да, репозиторий программы увеличился с 15 mvp файлов до 80. Отдельный исполняемый файл практически на каждую форму и отдельно логический файл. Зато мы сразу имеем максимально декомпозированную структуру, которую легко править и изменять процессы.

Далее было много различных шагов, криптография подключения к БД, логирование действий для отслеживания ошибок программы, перевод карты на формат HTML+JS. Получение API ключей и т.д.


В последний момент я задался вопросом: «Как распространять обновления программы? Ведь если я внесу новые правки — пользователь должен их получить. Также я должен делать логирование для использования программы».

Долго я думал над тем, как сделать это все на бесплатном формате. Получилось сделать обновление через Яндекс Диск, авторизацию выделено и рассылку информации о грядущих обновлениях пользователям.

Окно авторизации.

Окно авторизации.

Провал авторизации.

Провал авторизации.

Окно после успешной авторизации с новостной панелью.

Окно после успешной авторизации с новостной панелью.

Интерфейс для лаунчера я накидал быстро с помощью нейронки, вручную написал код для авторизации на js с py. Настроил всё и протестировал. И «О чудо!» не имея большого бюджета у меня получилось реализовать это всё, над безопасностью авторизации еще, безусловно, стоит потрудиться.

Через некоторое время написал тест кейсы, написал алгоритм для тестирования всех модулей, поправил баги, которые вызывали сбои. Сейчас готова версия 0.5.8. До релиза v1.0.0 еще далеко, много разделов, которые моя голова хочет реализовать.

Что делать дальше? Когда я только начинал, был уверен, что проект можно продать. Я видел такие кейсы и раньше. Думал, что смогу развивать его сам, возможно, еще на год разработки в свободное время меня хватит, и я не погрязну во всей архитектуре. Но год спустя сомнения все чаще берут верх. Может, я зря трачу время?

Возможно, данным постом я смогу найти тех, кого воодушевит мой проект или просто он кому-то приглянется. А возможно, просто получу дельные советы.


Если у вас есть идея и желание реализовать её самостоятельно, смело действуйте.

В скором времени постараюсь выложить еще пост о новых функциях программы.

Делитесь своими комментариями и мнениями.

Показать полностью 14
4

О близких отношениях и профессиональном благополучии

О близких отношениях и профессиональном благополучии

Всем добрый день! Я провожу исследование для диссертации по психологии, о влиянии близких отношений на профессиональное благополучие IT-специалистов. Прошу пройти опрос, это займет несколько минут, а ваше мнение для меня очень ценно. Персональные данные не собираю, а вычислять по ip не умею, поэтому ответы останутся конфиденциальными. Буду очень благодарна за помощь вот ссылка на опрос в гугл-формах:

https://docs.google.com/forms/d/e/1FAIpQLSfmDi_D58hAnzDt8kTn...

Показать полностью
3

Продолжение поста «VK Desktop Client — Версия 1.1.0»2

Сегодня получил фидбэк от 1 человека!

Мне сообщили что есть проблемы со входом и нашёл свои косяки.

Выпустил патч 1.1.2

Что нового:

- Исправлен вход по QR-коду (устранена ошибка Сессия истекла).

- Оптимизация памяти: уменьшено потребление ОЗУ и улучшена очистка мусора.

- Исправлены быстрые действия в панели задач (кнопки Моя музыка, Сообщения).

- Обновлены внутренние компоненты (User-Agent Chrome 131).

Также изучаю способ шифрования сообщений в VK, по возможности в будущих обновлениях добавлю!

Если у вас нету клиента, скачивайте latest версию 1.1.2 -
https://github.com/yamixdev/vk-desktop/releases
Исходный код - https://github.com/yamixdev/vk-desktop
Хотите помочь с разработкой и предложить свои идеи, я открыт!
Также насчёт билда под LINUX, у вас есть исходный код программы, можете себе собрать версию и модифицировать под себя, по желанию!

Показать полностью
5

Лёрника

Всем привет! Давно ничего не писал про проект, потому что скрупулезно работал. Итак, она все еще разрабатывается, но, доступна по ссылке - https://learnika.ru/ пока что в демо режиме, но с рабочим функционалом. Иногда будет недоступна, когда я буду что либо с ней делать.
Да, проект еще не полностью готов, и, думаю, есть наличие уязвимостей, это еще будет прорабатываться.


На данный момент - обычная регистрация через почту с одноразовым паролем с возможностью просматривать карточки уроков и возможностью написать преподавателю. Ранее хотел сделать регистрацию через госуслуги, но, это оказалось геморроем, потому что постоянно "сервис временно недоступен". потому я отложил на время госуслуги и задействовал яндекс верификацию. Чтобы начать выкладывать карточки своих уроков необходимо пройти регистрацию через яндекс. Впринципе, если с госуслугами не получится, то останусь на яндексе и переведу регистрацию полностью через него. Как ни странно, но система аутентификации у яндекса мне нравится. При регистрации защиту от ботов предоставляет google recaptcha.

Главная страница

Главная страница


Последнее нововведение - чаты. Реализация через webSocket, это накладывает некоторые ограничения на количество пользователей, до, 32 тысяч человек за раз там +-. Но это пока что не критично.

Чаты пока пустые, писать неком

Чаты пока пустые, писать неком


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

Загрузка аватара пользователя и загрузка обложки урока работает по одному принципу - пережимает изображение на сервере, исходное изображение удаляется с сервера и на нем остается сильно сжатое для экономии памяти.

Вчера весь день запускал сервер. я взял обычную vps, и первое с чем я столкнулся - сайт открывается, но регистрация не работает, постоянная ошибка. логи сервера в начале показали что запросы до spring boot доходят, но сам spring их блокирует. Пришлось повозиться с конфигами nginx, но там было не сложно. Потом, при попытке зарегистрироваться, запрос от hibernate идет на БД, но запись не появляется. Магия, подумал я, но нет, по какой то причине миграция БД с созданием схемы не работала. Решил проблему прямым запросом в саму базу. И вуаля, запись появилась. Но, следующий подвох - письма не приходят, точнее, не отправляются. Ну, первое что я проверил - работают ли порты? при попытке послушать 465 порт мертвые с косами стоят и тишина... тоже самое и с 587 портом, проблему так же решил путем включения портов в панели управления хостингом. Я такого не ожидал, потому что ранее не сталкивался.

Еще немного поработал с логотипом, мучался и сам, и с нейронками, в итоге пришел к виду вот такого логотипа:

стилизованная буква "Л", как по мне, выглядит современно.

Как то так, продолжаю работу над проектом, в планах закончить и полностью запустить до нового года. Всем спасибо за внимание!

Показать полностью 4
3

Продолжение поста «VK Desktop Client — Версия 1.1.0»2

Вышло небольшое обновление VK DESKTOP — версия 1.1.1

В этом обновлении реализованы следующие изменения:

- Интерфейс программы полностью переведен на русский язык.
- Исправлена работа быстрых задач в меню Пуск.
- Обновлено контекстное меню при нажатии правой кнопки мыши, как в Google Chrome.
- Добавлены функции очистки кэша и отображения экрана, если отсутствует подключение к сети.
- Устранены проблемы с открытием ссылок и ошибки в навигации.

Обновление уже доступна для всех клиентов, начиная с версии 1.1.0.
Если вы не хотите устанавливать его сейчас, вы можете нажать кнопку «Later» и сделать это позже!
Я настоятельно рекомендую вам обновиться, так как после установки не возникнет никаких проблем с функциональностью!

Отличная работа, все прочитано!