Backend Journey | ksredkin
9 subscribers
27 photos
18 links
Python backend • Bots • API • Pet-projects
Download Telegram
🗂 Alembic: мини-курс пройден

⏱️ Время: 8 дней (6 тем)

Что изучил на практике:
• Первая миграция через --autogenerate
• Ручное написание миграций (добавление колонок, изменение типов)
• Откат (downgrade) - теперь любое изменение схемы обратимо
• Data migrations - миграции с заполнением или преобразованием данных
• Тестирование миграций - сегодня написал тест, который применяет все миграции на чистой БД и проверяет схему

Результат:
TasksAPI теперь имеет версионированную схему БД
Миграции автоматически применяются при запуске
Есть тест, гарантирующий, что цепочка миграций работает без ошибок

Ссылка на TasksAPI: github.com/ksredkin/tasks-api

#Alembic #Миграции #SQLAlchemy #PostgreSQL #Backend #Testing
🎉2👍1
Backend Journey | ksredkin
🤧 Дома, но в коде Слегка приболел, до понедельника точно дома. Ничего серьёзного - просто насморк и слабость, температуры нет. Берегите себя и не болейте! #Статус #Планы
🛑 Вынужденная пауза

Вчера думал, что просто небольшая слабость. Сегодня утром - 37.6, нос не дышит, состояние разбитое.

Организм сказал стоп сам. Бесполезно делать вид, что я в ресурсе, когда голова не варит, а от кровати почти не оторваться.

Поэтому: беру паузу в обучении и проектах до полного восстановления. Несколько дней, может, неделя - сколько потребуется.

Код никуда не убежит. Баги подождут. TasksAPI достоин того, чтобы его писали в ясном уме и твёрдой памяти.

Вернусь, когда станет легче. 🤒

#Статус #Пауза #Здоровье
😱1😢1😭1
🔁 TasksAPI: SQLAlchemy Core → ORM

Позавчера валялся с температурой 38, а вчера вечером - раз - и переписал половину бэкенда (температуры уже нет). Организм сказал: "Ок, давай, но без фанатизма".

Что сделано:
• Полностью заменил SQLAlchemy Core на ORM
• Вместо сырых конструкций - декларативные модели и сессии
• Код стал в 2 раза короче и намного читаемее

🔧 Стек: Python, FastAPI, PostgreSQL, SQLAlchemy ORM, Alembic
⏱️ Время обновления: 1 день плотной работы
🎯 Цель: Улучшить читаемость кода и уменьшить его объём

Что изменилось в коде:
• Было: insert(user).values(...), select([...]) - куча ручного маппинга
• Стало: session.add(user), session.query(User).filter(...) - код стал понятнее и компактнее

Ссылка: github.com/ksredkin/tasks-api

📈 Ближайшие планы:
• Углубление в SQLAlchemy ORM
• Docker-контейнеризация
• Telegram-бот как клиент API
• Деплой

#Python #FastAPI #SQLAlchemy #ORM #Рефакторинг #Backend
👍2🔥1🤩1
💨 SQLAlchemy ORM: мини‑курс пройден!

Пока болею, время не теряю. За сегодня:
• Добавил Pydantic‑сериализацию по схеме - теперь эндпоинты в 2 (а 1 даже в 3!) раза короче
• Написал тест на 200 строк для обоих репозиториев (и он зелёный )
• Полностью закрыл курс по ORM - можно двигаться дальше

Результат: код стал чище, понятнее, а главное - готов к следующему шагу.

Заметил, что с момента перехода на project‑driven learning я лечу как ракета 🚀 План убежал вперёд на 20 дней!.. Просто потому что теперь каждую тему сразу встраиваю в TasksAPI, а не учу «для галочки». Стало просто интереснее изучать.

Что дальше? Наконец‑то Docker! 🐳

Ссылка на проект: github.com/ksredkin/tasks-api

#SQLAlchemy #ORM #Pydantic #FastAPI #Python #Backend #ProjectDriven #Прогресс
👍2🔥1🎉1
🐳 TasksAPI: Docker!

Добавил Docker и docker-compose в проект. Прошёл весь план - сделал карточки и заметки по всем командам. Теперь буду повторять и закреплять в спокойном темпе.

После того, как перестану ошибаться в карточках по Docker, перехожу к Aiogram 🤖

Ссылка: github.com/ksredkin/tasks-api

#Docker #DevOps #TasksAPI #Backend #Прогресс
🐳3👍1
🏆 Победитель по информатике + призёр ещё по четырём предметам.

Дипломы наконец‑то у меня (вручали, когда болел).
Фото без лишних данных - безопасность превыше всего.

На 8 класс сегодня выбрал профиль инфотех.

#Олимпиады #Информатика #Достижения #8класс
🔥4👍1
Где посты? Умер, что ли?

Жив‑здоров, просто ушёл с головой в разработку. Делаю Telegram‑бота для TasksAPI - не для галочки, а чтобы реально был полезным. Поэтому и времени уходит больше.

Что уже готово:
• Создание, обновление, удаление задач
• Отметка «выполнено» / «не выполнено»
• Папки с вложенностью (создание, удаление, обновление)
• Вход, регистрация, выход из аккаунта

Сейчас: добавляю повторяющиеся задачи - последний крупный кусок перед релизом. После этого бот станет по‑настоящему полезным инструментом.

Если есть идеи, чего ещё не хватает - пишите, учту 👂

Песочные часы тикают, код пишется. Скоро вернусь с полноценным апдейтом! 🚀

#TasksAPI #TelegramBot #Разработка #Прогресс
👍2👎1🔥1😢1🍓1
⌛️ Бот для TasksAPI: финишная прямая

Почти всё готово! Остались последние штрихи - и можно будет тестировать.

Что уже умеет бот:
• Задачи: создать, обновить, удалить, отметить выполнено/не выполнено
• Папки с вложенностью (создание, удаление, обновление)
• Аккаунт: вход, регистрация, выход
• Повторяющиеся задачи
• Таймер: /timer 8 Достать пельмени - напоминалка через N минут
• У задач теперь есть дата выполнения, и дата, с которой они появляются в /today

Осталось доделать:
• Защита API от брутфорса (со стороны бота уже готова, надо на API)
• Статистика

Когда запуск?
Скоро бот будет доступен в тестовом режиме - пока работает только когда включён мой ноутбук. Полноценный деплой на сервер - следующий шаг.

Песочные часы почти истекли. Осталось чуть-чуть!

#TasksAPI #TelegramBot #Разработка #Скоро #Тестирование
1👍1👾1
🤖 TasksAPI + Bot: первая версия готова!

Добавил защиту от брутфорса и статистику - теперь можно выпускать в люди. Да, это тестовый режим: бот живёт, пока включён мой ноут. Но он работает!

Что умеет:
• Задачи, папки, повторения, таймеры
• Учётные записи
• Статистика и защита

Можно бесконечно допиливать и никогда не зарелизить. Поэтому - релиз сейчас, доработки потом. Например, пока писал этот пост, уже понадобилась новая команда: экспорт задач из папки в текст).

Пробуйте, ломайте, пишите баги, предлагайте новый функционал 👇
🔗 Бот: @ksredkin_tasks_bot
📦 Код: github.com/ksredkin/tasks-api

Планы дальше:
• Доработка бота
• Деплой на сервер
Git!! Недавно понял, что даже изменения с ветки на ветку слить не могу сам!..

#TasksAPI #TelegramBot #Релиз #Тестирование #Backend
🔥1🐳1
🛑 Небольшая пауза

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

На каникулах вернусь в прежний режим и продолжу активную разработку.

Планы по TasksBOT (TasksAPI):
• Экспорт и импорт всех данных
• Получение всех задач из папки в виде текста
• Переделка обновления задач

Инсайт: не нужно усложнять архитектуру ради усложнения.

Сейчас проект устроен так: bot → api → postgres (через Docker).
С одной стороны - это даёт гибкость, с другой - заметно замедляет разработку.

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

Но при этом понимаю: разделение на сервисы - не зря. Это дало мне опыт работы с архитектурой, Docker и взаимодействием компонентов.

Код подождёт. Вернусь с новыми силами 🌊

#TasksAPI #Разработка #Пауза #Инсайт #Планы
👍1🐳1💅1
🔥 День, когда всё сломалось… и заработало снова

Вчера был последний день 3 четверти. Проснулся - всё нормально.

Сижу в школе → не работает Telegram. Думаю: ок, интернет тупит.
Прихожу домой… не работает уже ничего: ни ПК нормально, ни бот.

Первая мысль: всё. Минус 3 недели разработки. 😵

Вообще не понимал, что делать.

И тут случайно узнаю про proxy.

Сначала починил Telegram на телефоне и ПК.
Но бот всё ещё мёртв - у меня был прокси только под Telegram (MTProto).

Начал копать дальше → нашёл бесплатный SOCKS5 proxy → подключил к боту…

И он ЗАРАБОТАЛ. 🎉 Это был очень сильный момент.

Инсайт дня: если что-то одно падает - не должно умирать всё.

Поэтому решил добавить в проект frontend.

Пока база:
• Установил node и npm
• Поднял всё в Docker
• Открыл порт и проверил, что работает

Стек:
• Vite + React + JavaScript

Сейчас там просто:
<h1>Мой первый frontend 🚀</h1>


Но сам факт, что всё поднялось - уже победа.

#TasksAPI #TelegramBot #Frontend #Разработка #Инсайт #Прогресс
👍1🔥1🤯1
🚀 TasksBOT: обновление

С первой версии я хорошо продвинулся - темп держится

Что добавлено:

• Proxy для бота
Теперь бот может работать через прокси - пригодилось на практике

• Базовый frontend
Пока просто:
<h1>Мой первый frontend 🚀</h1>


• Импорт и экспорт всех данных
Можно сохранять и переносить всё между аккаунтами

• Получение задач из папки в виде текста
Теперь можно, например, скинуть кому-то весь план обучения, если он разбит на кучу задач в папке

• Мелкие, но важные улучшения UX
Добавил кнопку отмены почти везде
И улучшил ответы бота

Пример:
-- Раньше: --
после обновления задачи предлагался только /tasks

-- Сейчас: --
можно сразу перейти и в /tasks, и в /today
(что я использую намного чаще)


Следующий шаг:
• Переделать обновление задач (сейчас не очень удобно)
• Деплой
• Разработка frontend

Бот: @ksredkin_tasks_bot
GitHub проекта: github.com/ksredkin/tasks-api

#TasksAPI #TelegramBot #Frontend #Разработка #Обновление #Прогресс
👍1👨‍💻1👾1
🤖 Новый проект: бот для расписания

Честно - в какой-то момент стало скучно делать TasksAPI.
Хотя сам им пользуюсь каждый день.

Решил взять паузу… и в голову пришла идея:
а что если сделать удобного бота для школьного расписания?

За 3 дня собрал рабочую версию.

Что умеет:
📅 Показывает расписание в нормальном, читаемом виде
Показывает, сколько осталось до звонка
🏫 Отображает кабинет текущего и следующего урока
🔄 Самое важное - удобный просмотр замен
🔔 Уведомления о заменах

По сути, закрыл реальную проблему:

Cмотреть замены на сайте - неудобно.
Теперь это делается в пару кликов.

Иногда лучший способ не выгореть -
переключиться на что-то новое и быстрое.

Мини-проект за 3 дня → польза для многих.

🔗 GitHub: github.com/ksredkin/schedule_bot
🤖 Бот (тестовый режим): @ksredkin_schedule_bot

Дальше буду дорабатывать и задеплою.

#TelegramBot #Python #Разработка #Проект #Прогресс #Инсайт
❤‍🔥1👍1🔥1
Честно, удивлён: бота за 1 день уже запустило 13 человек!

И это только из класса.

С такими цифрами деплой становится не “когда-нибудь”, а обязательным шагом.
Тем более в планах - запуск на всю школу.

Активно ловлю и фикшу баги.
Первый нашли уже через ~10 минут после запуска 😅

И это нормально.

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

Но в этом и плюс:
баги находятся быстрее → продукт становится лучше.

Только что исправил последний критический баг: теперь настройка класса по умолчанию работает.

Двигаюсь дальше 🤠

#TelegramBot #Разработка #Прогресс #Фидбек
👍1🤯1😈1
🚀 Деплойнул schedule-bot

Бот для расписания теперь работает 24/7 - вынес его на отдельную систему (Raspberry Pi), чтобы не зависел от моего ноутбука и всегда был доступен ⚡️

Параллельно отправил сообщение в «в вмл обсуждают» - посмотрим, пропустят или нет 👀
Если всё ок, будет первый нормальный приток пользователей

Чуть позже напишу, что из этого вышло

#Backend #Python #Schedulebot #Deployment #petproject
🔥1🎉1
Backend Journey | ksredkin
🚀 Деплойнул schedule-bot Бот для расписания теперь работает 24/7 - вынес его на отдельную систему (Raspberry Pi), чтобы не зависел от моего ноутбука и всегда был доступен ⚡️ Параллельно отправил сообщение в «в вмл обсуждают» - посмотрим, пропустят или нет…
Админ... отказал.

Значит, будем двигаться сами.

Несмотря на это, бота уже запустило 18 человек - и для меня это реально маленькая победа 🚀


Потихоньку развиваю проект дальше: добавил поддержку VLESS proxy, и теперь бот отвечает практически мгновенно ⚡️

Работаем, улучшаем, масштабируемся. Это только начало.

#Бот #Разработка #Python #TelegramБот #Schedulebot
🤷‍♂1👍1😭1
🚧 Небольшой апдейт по проектам

ScheduleBot привёл в порядок: почистил код, упростил структуру - можно сказать, проект для себя уже закрыт. Он делает то, что нужно, быстро и стабильно. Дальше - только точечные правки при необходимости.

Вернулся к TasksAPI. И тут немного пересобрал план:

Frontend решил убрать из проекта. Гораздо логичнее сделать потом отдельный полноценный сайт, а не тащить всё в одном репозитории.

Честно: сейчас к TasksAPI меньше интереса, чем раньше. Поэтому двигаюсь без перегруза - небольшие изменения, без давления на себя. В моем случае, как показал ScheduleBot, иногда гораздо эффективнее довести проект до состояния "достаточно хорошо" и двигаться дальше.

#ScheduleBot #TasksAPI #Backend #Refactoring #Development
👍1🐳1😈1
ScheduleBot: небольшие, но важные улучшения ⚙️

За эту неделю привёл проект в порядок: почистил код с помощью ruff, добавил строгую типизацию через mypy и увеличил timeout при получении HTML со школьного сайта - теперь бот не падает из-за долгой загрузки.

Также разобрался с генераторами и декораторами, убрал лишний спам обновлениями расписания и порешал задачи на Codewars.

Планы дальше:
- Углубиться в основы интернета: DNS, HTTP, headers, cookies
- Лучше понять асинхронность
- Подтянуть базовые алгоритмы (и продолжать Codewars)
- Изучить основы безопасности и аутентификации

#ScheduleBot #Python #Backend #Coding #Programming #CleanCode #Async #Algorithms
👍1🌭1🆒1
Прокачка базы и переход на Redis ⚙️

За последние 2 недели закрыл план из прошлого поста и хорошо углубился в основы.

Разобрался, как работает интернет изнутри: через socket написал простой HTTP-клиент и сделал мини-клон FastAPI, чтобы лучше понять обработку запросов и архитектуру.

Обновил бота расписания - заменил Python-кэш на Redis. Это даёт больше гибкости и ближе к реальным production-подходам.

В целом стал лучше понимать, что происходит “под капотом”, а не просто использовать готовые инструменты.

Бот: @ksredkin_schedule_bot
GitHub: github.com/ksredkin/schedule_bot

#ScheduleBot #Python #Backend #Programming #Async #Redis #HTTP
🔥1🤩1
Бот снова в строю! ⚡️

Бот был временно недоступен из-за проблем с прокси. Сейчас всё починил, сервис работает в штатном режиме.

Эта ситуация натолкнула на мысль, что пора внедрять полноценный мониторинг ошибок. Так я смогу узнавать о падениях моментально, а не когда всё уже «лежит».

Что в планах?

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

- Новый алгоритм замен: сделаю получение данных ещё стабильнее.

- Тестирование: вовсю пишу тесты на pytest, чтобы минимизировать баги при будущих обновлениях.

Спасибо, что пользуетесь!

#TelegramBot #Python #Backend #FastAPI #Aiogram #PostgreSQL #Pytest #Development #Coding #Linux
1🔥1