Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.

Backend соц.сети для инвесторов

Добавлено 03 мая 2024 в 18:19
Мне предстояло написать backend социальной сети для инвесторов с нуля.

Стек технологий, которые я использовал:
- Используется PostgreSQL для хранения данных о странах и пользователях.
- Для безопасности паролей пользователей применяется хеширование (например, bcrypt).
- Для аутентификации и генерации сессионных токенов применяеться JWT (JSON Web Tokens).
- Реализованы RESTful API эндпоинты для выполнения различных операций,
таких как регистрация, аутентификация, управление профилями, друзьями,
публикациями и взаимодействие с контентом.
- Реализован механизм пагинации для эффективной загрузки больших объемов данных, таких как список друзей и лента новостей.

Что представлял из себя сервис?

Социальная платформа представляет собой backend, разработанное для управления и обмена контентом между пользователями. Платформа предоставляет функционал для регистрации, аутентификации, создания и просмотра профилей, публикации постов, управления списком друзей, а также взаимодействия с контентом других пользователей.

Функциональные возможности:
1. Регистрация и аутентификация: Пользователи могут зарегистрироваться на платформе, предоставив уникальные регистрационные данные. Пароли хешируются для обеспечения безопасности. Зарегистрированные пользователи могут аутентифицироваться с использованием своих учетных данных.

2. Профили пользователей: Каждый пользователь имеет свой профиль, содержащий персональные данные. Пользователи могут получать доступ к своим профилям, а также просматривать профили других пользователей в зависимости от настроек приватности.

3. Управление друзьями: Пользователи могут добавлять других пользователей в список своих друзей, что позволяет им взаимодействовать с контентом друг друга. Доступ к контенту определяется настройками приватности профиля.

4. Публикация постов: Пользователи могут создавать и публиковать посты на платформе. Каждый пост имеет уникальный идентификатор и содержит контент пользователя, а также метаданные, такие как дата и время публикации.

5. Лента новостей: Пользователи могут просматривать ленту новостей, в которой отображаются их собственные посты, посты друзей и публичные посты других пользователей. Лента поддерживает пагинацию для удобства просмотра.

6. Лайки и дизлайки: Пользователи могут выражать свое отношение к постам, ставя лайки или дизлайки. Подсчитывается количество лайков и дизлайков для каждого поста, учитывая только последнюю реакцию каждого пользователя.
81ed4069e9