Разработка бэкенд части маркетплейса с соц сетью
200 000 руб. за проект
Задача
Разработать серверную часть для маркетплейса с соц. сетью.
Готов дизайн, начат фронтенд.
Начать нужно будет с нуля, проработать при старте:
Ищем мидл Go разработчика, от 2х лет опыта, вилку обсудим (tg @Artem3XXX)
Присылайте резюме https://t.me/Artem3XXX
Разработать серверную часть для маркетплейса с соц. сетью.
Готов дизайн, начат фронтенд.
Начать нужно будет с нуля, проработать при старте:
- ERD (есть наброски)
- Архитектура проекта (описаны, доработать)
- Задачи по всему проекту
- Разработать серверную часть
Ищем мидл Go разработчика, от 2х лет опыта, вилку обсудим (tg @Artem3XXX)
Присылайте резюме https://t.me/Artem3XXX
- Технологии
- Golang
- goose
- pgx
- sqlc
- minimock
- protoc
- Postgresql
- Kafka
- Redis
- Jaeger
- Prometheus
- Grafana
- Pprof
- GRPC
-
- REST
Основные требования к архитектуре и функциональности:- Сервисы реализуют функционал, соответствующий конкретной бизнес-потребности.
- Не следует делать сервисы слишком большими и универсальными.
- Мандат Безоса (в вольной форме):
- Сервисы предоставляют доступ к данным и функциональности только через интерфейсы.
- Сервисы взаимодействуют исключительно через интерфейсы.
- Интерфейсы нужно грамотно проектировать.
- Graceful degradation.
- Принцип независимости состояния сервиса (Service statelessness principle).
- Экземпляры сервиса должны быть независимыми друг от друга.
- Экземпляры сервиса независимы от того, на каком физическом сервере запущены.
- Интерфейсы: сервисы используют REST и gRPC.
- С внешним интернетом сервисы работают по протоколу HTTPS (без gRPC).
- Для взаимодействия между собой сервисы используют gRPC
- Контакты - (telegram @Artem3XXX)
Функциональные требования:- регистрация пользователей;
- управление профилями пользователей (CRUD);
- время отклика на запросы не более 200 мс;
- возможность обработки 10,000 пользователей одновременно;
- шифрование данных пользователей.
2. Сервис аутентификации (Authentication Service) Обеспечивает аутентификацию и авторизацию пользователей.
Функциональные требования:- аутентификация пользователей;
- выдача токенов доступа (JWT);
- управление сессиями.
- обеспечение безопасности аутентификации;
- поддержка OAuth 2.0;
- время отклика не более 100 мс.
Функциональные требования:- CRUD для товаров;
- CRUD для категорий;
- 10000 RPS на чтение.
Функциональные требования:- создание заказа;
- получение информации о заказе;
- обновление статуса заказа;
- CRUD для заказов;
Нефункциональные требования- 100 RPS на создание заказа;
- гарантированная атомарность транзакций.
5. Сервис платежей (Payment Service) Обрабатывает платежи и взаимодействует с платежными шлюзами.
Функциональные требования:- создание платежа;
- проверка статуса платежа;
- обработка возвратов.
- обеспечение непрерывности платежей;
- 800 RPS на создание платежа.
6. Сервис инвентаризации (Inventory Service) Управляет запасами товаров.
Функциональные требования:- проверка наличия товара;
- обновление запасов;
- CRUD для инвентаря;
Нефункциональные требования- обеспечение актуальности данных о запасах;
- 500 RPS на обновление;
7. Сервис поиска (Search Service) Предоставляет функциональность поиска по товарам и категориям.
Функциональные требования:- поиск товаров по запросу;
- поиск по категориям.
Нефункциональные требования:- время ответа не более 300 мс;
- 5000 RPS на поиск;
- Индексация / использование Elasticsearch.
8. Сервис отзывов (Review Service) Управляет отзывами пользователей о товарах.
Функциональные требования:- добавление отзыва;
- получение отзывов о товаре;
- CRUD для отзывов
Нефункциональные требования- обработка большого количества отзывов;
- 1000 RPS на добавление отзыва.
9. Сервис коллекций (Collection Service) Управляет пользовательскими коллекциями товаров.
Функциональные требования:- добавление товара в коллекцию;
- получение коллекций пользователя;
- CRUD для коллекций.
- Время отклика не более 400 мс;
10. Сервис публикаций (Post Service)
Управляет публикациями пользователей в социальной сети.
Функциональные требования:- создание публикации;
- получение публикаций пользователя;
- CRUD для публикаций;
Нефункциональные требования:- обработка большого объема контента;
- время отклика не более 300 мс;
- интеграция с Image Storage Service.
11. Сервис вишлистов (Wishlist Service) Управляет списками желаний пользователей.
Функциональные требования- добавление товара в вишлист;
- получение вишлиста пользователя;
- CRUD для вишлистов;
- время отклика не более 200 мс;
- поддержка миллионов вишлистов.
12. Сервис избранного (Favorites Service) Управляет избранными объектами пользователей (товары, публикации, бренды, коллекции).
Функциональные требования;- добавление в избранное;
- получение избранного пользователя;
- CRUD для избранного.
- время отклика не более 200 мс;
- поддержка миллионов записей;
13. Сервис достижений (Achievement Service) Отслеживает и предоставляет информацию о достижениях пользователей.
Функциональные требования:- получение достижений пользователя;
- обновление достижений;
- CRUD для достижений.
14. Сервис уведомлений (Notification Service) Управляет отправкой уведомлений пользователям.
Функциональные требования:- отправка уведомлений;
- получение уведомлений пользователя;
- CRUD для уведомлений.
Нефункциональные требования:- гарантия доставки уведомлений;
- обработка тысяч уведомлений в секунду;
- использование очередей сообщений.
Функциональные требования- сбор метрик и событий;
- генерация отчетов;
- предоставление данных другим сервисам.
- обработка большого объема данных;
- быстрая обработка и агрегирование данных.
Функциональные требования- CRUD для брендов;
- Получение информации о бренде.
Нефункциональные требования- время отклика не более 200 мс;
- поддержка тысяч брендов.
17. Сервис сообщений (Messaging Service)
Обеспечивает возможность обмена сообщениями между пользователями.
Функциональные требования- отправка сообщений;
- получение сообщений;
- CRUD для сообщений.
Нефункциональные требования:- поддержка обмена сообщениями в реальном времени;
- обработка большого количества активных пользователей;
- шифрование сообщений?
18. Сервис рекомендаций (Recommendation Service) Предоставляет персонализированные и не персонализированные рекомендации товаров пользователям.
Функциональные требования:- генерация рекомендаций;
- обновление моделей рекомендаций.
- использование алгоритмов ML;
- быстрая выдача рекомендаций.
19. Сервис хранения изображений (Image Storage Service) Хранит и предоставляет доступ к изображениям товаров и публикаций.
Функциональные требования- загрузка изображений;
- получение изображений;
- CRUD для изображений.
- хранение большого объема мультимедиа;
- быстрая доставка контента;
- контроль доступа к изображениям;
- использование
20. Сервис поддержки клиентов (Customer Support Service) Обеспечивает поддержку пользователей через тикеты и чат.
Функциональные требования- создание тикетов;
- чат с поддержкой;
- CRUD для тикетов.
- быстрый отклик на запросы пользователей.
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.