Skip to content

timmashkov/social_web-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Social_Web

python fastapi sqlalchemy alembic

Фичи

Веб-приложение социальной сети, реализованное в виде микросервисов. Реализовано 2 микросервиса:

  • auth_microservice(регистрация, аутентификация, авторизация, создание профиля, написание постов, создание групп, добавление\удаление\просмотр списка друзей, постов, групп, админка), паттерн репозиторий
  • server_microservice(создание статей, мероприятий, гостей и билетов, лента новостей, паттерн DDD
  • Микросервисы соединены друг с другом через RabbitMQ.

Стек

  • FastAPI
  • SQLAlchemy
  • Alembic
  • Postgresql
  • Redis
  • Rabbitmq

Описание

Связь микросервисов осуществляется с помощью aio-pika, в первом микросервисе класс рэббита и класс rpc находятся в auth_microservice/src/configuration/broker.py. Во втором в server_microservice/app_src/infrastructure/broker/rabbit_handler.py Подключение к рэббиту выполняется при старте каждого микросервиса, путем lifespan. Реализация rpc.call() следующая:

  • В сервисе новостей (server_microservice/app_src/services/feed_service.py) происходит вызов функции возврата списка профилей и групп в другом микросервисе.

About

Social web authentification microservice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages