Универсальная структура Backend приложений | FastAPI + PostgreSQL

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

Комментарии • 29

  • @remsha
    @remsha  6 месяцев назад

    Buongiorno! Зафиксирую здесь несколько моментов:
    1. Ссылку на GitHub репозиторий я пока что не выкладываю, потому что это только часть видео по обучающим роликам, которые я записываю. Как на видео наберется актив в 300 лайков иду записывать "Новое РЕАЛЬНОЕ тестовое задание" и там выкладываю его + шаблон.
    2. Хочу услышать ваше мнение, оправдано ли добавил объяснение через готовку бутербродов. Вставка получилась среднего качества, звук страдает, повествование рвется. Дайте обратную связь было ли это кому-то полезно.
    3. На слайдах сделал опечатку в слове Entities написал Entoties. Кто заметил - тот красавец.

    • @willykrew9550
      @willykrew9550 3 месяца назад

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

    • @stvJnK
      @stvJnK 2 месяца назад +1

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

    • @stvJnK
      @stvJnK 2 месяца назад

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

    • @remsha
      @remsha  2 месяца назад

      @@stvJnK да, возможно даже стоит вырезать этот момент

  • @ivlukyanov
    @ivlukyanov 4 месяца назад

    1. Супер видос, спасибо! Все понятно, что ты хотел донести. Там каждый кусочек структуры очень ценен.
    Но было бы классно глянуть сейчас именно эту репу, чтобы спокойно рассмотреть в редакторе, а не на видео. Т.к. в будущем примере, который ты анонсировал, у тебя изменится код, и будет по сути другая репка, с другим примером.
    2. С иллюстрацией на бутерах классно, это для кого-то намного понятнее, пусть будет больше таких примеров =)
    3. Да, заметил, не поверил, и полез сначаал искать перевод слова Entoties.
    Еще из предложений - можешь показать пример структуры мельтирепы, в которой есть хотя бы два бекенда, и показать какие инфраструктурные штуки ты для них описываешь (например, конфиг docker composer, общий шаблон Dockerfile)
    P.S. А какое тестовое задание ты ждешь и от кого? )
    300 лайков наверное еще месяц будет собираться, поэтому поделись пож репкой на этот пример )

    • @remsha
      @remsha  4 месяца назад

      Тестовое будет базовое, которое мы с коллегами давали на одной из старых работ

  • @stvJnK
    @stvJnK 2 месяца назад

    Привет! Данная архитектуре применима к типу домашней соц. сети в виде модулей?
    Например ядро это вход, профиль человека, лента новостей и пополняемые модули). А потом динамически подключать модули в зависимости от прав: календаря задач, календаря с днями рождения, списоки покупок, учета денег.

    • @remsha
      @remsha  2 месяца назад

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

  • @rinovttcompilations
    @rinovttcompilations 6 месяцев назад +1

    Привет, спасибо за видео, у меня вопрос, сначала объясню: мне надо хранить фотографии, я сделал два способа организации этого дела: в папке проекта или в объектном хранилище, каждый из этих способов реализует интерфейс с методами upload_image, delete_image. Также есть ImageService, который инжектит storage - класс, который реализует один из способов хранения фоток.В итоге получается, что ImageService может сохранять фотки в зависимости от типа получаемого storage. Так вот, как назвать папку, которая хранит типы storage, я сделал папку storage_facade в папкe services, в которой все это храню, как бы вы это сделали?

    • @remsha
      @remsha  6 месяцев назад

      А хранить картинки не в S3 как-то обоснованно?

    • @rinovttcompilations
      @rinovttcompilations 6 месяцев назад

      @@remshaЯ понимаю, что это не очень обосновано, но когда я начинал делать этот проект, я не знал что такое s3, я хотел научиться пользоваться celery, что я делал - делегировал ему работу по созданию папок, генерацию имен и уменьшение масшатаба фотографий, если они слишком большие(с помощью PIL), потом я узнал про s3 и захотел его интегрировать, но не хотел удалять то, что уже сделал и потом встала новая задача - организовать функционал так, чтобы я бесшовно мог выбирать необходимую мне реализацию хранения и все работало. Вопрос скорее про то, где хранить несколько имплементаций одного и того же функционала с точки зрения этой чистой архитектуры

  • @Борьбазадепозит
    @Борьбазадепозит 5 месяцев назад

    О смотрю такой, не луковая вроде а на клине, сел за комп открыл гит, открыл твой ролик - > описание: invalid request, github link dont found. А так пошарится хотелось по структуре..... Кругом луковые архитектуры. Но спасибо за видос ждем 300лайк

    • @stvJnK
      @stvJnK 2 месяца назад

      Тоже пытаюсь вникнуть в правильные архитектуры и понял, что на основе чистого кода, очень схожих архитектур много, луковая, DDD, гексагональная...

  • @caporussia
    @caporussia 6 месяцев назад

    Ссылочку на GitHub было бы не плохо)
    А сейчас проект запускается в таком состоянии? Как ты его проверяешь пока пишешь?

    • @remsha
      @remsha  6 месяцев назад

      Как я сказал в видео это будет серия обучающих роликов, первым этапом мы рассмотрели архитектуру и структуру проекта, дальше я ищу тестовое задание и выполняю его на этом шаблоне. Когда будет проект - будет ссылка на репу в GitHub (повод подписаться и не пропустить)
      В этом видео я пропустил такие вопросы как соединение с базой данных, выбор движка для приложения..
      Как я проверяю что все работает?
      - время от времени запускаю проект типа в контейнере docker build.. docker run.. и смотрю что приложение поднимается
      - иногда иду путем написания сначала тестов, потом бизнес логики

  • @alexlevickiy22
    @alexlevickiy22 6 месяцев назад

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

    • @remsha
      @remsha  6 месяцев назад +1

      кажется что в телеграмме уже ответил на твой вопрос

    • @alexlevickiy22
      @alexlevickiy22 6 месяцев назад

      @@remsha да,спасибо

  • @artyomklg915
    @artyomklg915 6 месяцев назад +3

    А при чем здесь читая архитектура? :) К сожалению, это просто мешанина из кода. Да, по сути всё достаточно неплохо, не нарушаются главные принципы. Но по факту, автор просто раскидал по папочкам части своего приложения, не разделив эти папки на группы домена, инфрастуруры, приложения(или логики) и презентации. Если этого не сделать, кол-во папочек будет только увеличиваться с ростом приложения, и если сейчас в главной директории проекта уже их 6 (+ файлы, которые тоже надо бы уложить в одну из 4 папок) при добавлении брокеров, эластика, редиса, отложенных задач, мб другого способа презентации и много чего еще, кол-во этих папочек может вырасти до немыслимого кол-ва. Вам домашнее задание: прочитать всё-таки книгу Дядюшки Боба

    • @remsha
      @remsha  6 месяцев назад +3

      Спасибо за интересный комментарий, чтобы не отвечать полотном текста, могу предложить созвониться в телеграмме. Буду рад услышать критику и для себя подчеркнуть те места, где не дожал.
      Но уточню, что в первую очередь видео несет ознакомительный характер. И примеры с брокерами, редисом - нормально встанут на шаблон.
      Если бы я мог через одно видео покрыть все случаи продуктовой разработки и дать шаблон который нужен всем и подходит для всех, то во-первых бы час моей работы стоил космических денег, а во-вторых отделы dev-platform в компания были бы не нужны.
      Если считаете, что с задачей вводного погружения я не справился, и пример для fastAPI не валидный - тогда можем продолжить тред.

    • @artyomklg915
      @artyomklg915 6 месяцев назад +1

      @@remsha меня в видео смутило только упоминание чистой архитектуры, которой в коде и объяснении не было. можно назвать это примером просто базовой слоистой архитектуры. в этих рамках все абсолютно верно

    • @remsha
      @remsha  6 месяцев назад +2

      Валидно, поиграю с название, возможно «структура backend приложения» больше подходит, thanks

  • @belekabbas
    @belekabbas 6 месяцев назад +1

    Ссылка на гит

    • @remsha
      @remsha  6 месяцев назад

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

  • @Егор-д3у4с
    @Егор-д3у4с 6 месяцев назад

    Нужен гитхаб!

    • @remsha
      @remsha  6 месяцев назад

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

  • @valitovgaziz
    @valitovgaziz 6 месяцев назад

    SDFSDF

    • @remsha
      @remsha  6 месяцев назад

      Мне ботов накрутили?? Что-то за бессмыслица