Search
Write a publication
Pull to refresh
6
0
Send message

Спасибо большое за интерес к проекту!

Что касается баз данных — основная, конечно, PostgreSQL. MySQL и MongoDB были добавлены преимущественно для практики, изучения разных технологий и моделирования микросервисной архитектуры с различными подходами к хранению данных. Это помогает лучше понимать, как взаимодействуют разные СУБД в рамках одной системы.

На production проект развёрнут с использованием Docker Compose. Приложение разделено на несколько сервисов: frontend на Vue.js (собирается и обслуживается через Nginx), backend на FastAPI (Dockerfile), а Nginx работает как reverse proxy между ними.

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

  • интегрировано логирование с ротацией логов,

  • подключён Sentry для отслеживания ошибок и запросов,

  • настроен Prometheus для сбора метрик от FastAPI, Nginx и системных метрик через Node Exporter.

По поводу изображений и видео — на текущем этапе они загружаются асинхронно и сохраняются либо локально, либо в Yandex Object Storage (S3-совместимом хранилище). FastAPI затем отдаёт их обратно через FileResponse, а во frontend (Vue 3) используются обычные запросы через Axios. Понимаю, что это далеко не оптимальное решение, особенно для видео. В будущем планирую:

  • отдавать изображения через Nginx как статику,

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

Спасибо большое за отзыв! Да, вы абсолютно правы — на данный момент основная проблема заключается в отсутствии адаптивности. Я не позиционирую себя как frontend-разработчик, поэтому основной упор делал на проработке backend-части: реализации функциональности и REST API.

На фронтенде получилось довольно много кода, и он писался преимущественно под моё разрешение экрана (1536×864), то есть ориентировался на поведение как у web-app без учёта других экранов. К сожалению, знаний в области responsive design у меня пока нет, и с текущей архитектурой внести такие изменения займёт довольно много времени — ориентировочно около месяца, с учётом необходимости разобраться во всех нюансах адаптивной вёрстки.

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

Да, вёрстку и стили делал сам. На фронтенде использовал Vue 3, Vue Router с keep-alive для кэширования страниц и Tailwind CSS для стилизации. Для отображения плиток в стиле Pinterest применил библиотеку с masonry grid, а также использовал анимации при прокрутке и появлении элементов.

Спасибо большое за тёплый отзыв! 🙏 Полностью согласен насчёт мультиязычности — это важный шаг, особенно с учётом разнообразия контента и аудитории. Уже думаю над добавлением поддержки русского и других языков. Рад, что в целом проект понравился! 🔥

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

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

Проект задумывался как портфолио, демонстрирующее мои технические навыки — от проектирования архитектуры до реализации масштабируемого API и real-time функционала. Но на этом останавливаться не хочется.

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

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

Information

Rating
3,297-th
Registered
Activity