Соц сеть программистов
Реализуйте социальную сеть для программистов, в которой пользователи создают свои странички, размещают посты, добавляют друзей и ведут переписку в личку. Продумайте структуру базы данных для хранения пользователей, профилей, постов, комментариев, друзей и сообщений. Реализуйте регистрацию и авторизацию пользователей. Настройте серверную часть для работы с API. Все операции по чтению данных (вывод профилей, постов, поиск) должны выполняться через SSR для индексации поисковиками. Все операции по записи (добавление друзей, постов, комментариев, сообщений) - через AJAX-запросы без перезагрузки страницы. Скачать верстку для проекта.
Основные возможности проекта
- Регистрация и авторизация пользователей.
- Страница пользователя с полной информацией (SSR).
- Стена с постами (SSR) и добавление постов (AJAX).
- Комментарии к постам (AJAX).
- Поиск людей по различным критериям (SSR).
- Добавление в друзья (AJAX).
- Личная переписка (AJAX).
Регистрация и авторизация
На сайте должна быть реализована регистрация и авторизация пользователей:
- Регистрация - форма с полями: логин, email, пароль, ФИО, страна, город.
- Авторизация - форма с полями: логин, пароль.
Страница пользователя
На странице пользователя должна отображаться следующая информация:
- ФИО.
- Аватарка (изображение).
- Страна и город.
- Образование.
- Языки программирования, которые знает пользователь (список).
Если страница просматривается другим пользователем, отображается кнопка "Добавить в друзья" (или "Удалить из друзей", если уже друзья). Страница генерируется на сервере для индексации поисковиками.
Стена
На странице пользователя под информацией о профиле отображается стена с постами. Посты выводятся с пагинацией, генерируются на сервере (SSR) для индексации поисковиками. Новые посты добавляются через AJAX без перезагрузки страницы.
- Каждый пост содержит текст, дату публикации, автора.
- Под постом - комментарии (SSR) и форма для добавления комментария (AJAX).
Страница поиска
Юзеры могут читать профили других людей. Для этого должна быть специальная страница для поиска людей по различным критериям:
- Поиск по ФИО или логину.
- Фильтр по стране и городу.
- Фильтр по языкам программирования.
Результаты поиска выводятся в виде списка с пагинацией. Каждый результат - ссылка на страницу пользователя. Страница генерируется на сервере для индексации поисковиками.
Друзья
Юзеры могут добавлять других юзеров в друзья. После этого они могут осуществлять переписку в личку. Все операции выполняются через AJAX:
- Добавление в друзья - кнопка на странице пользователя.
- Удаление из друзей - кнопка на странице пользователя.
- Список друзей - отдельная страница с пагинацией (SSR).
Личные сообщения
Пользователи могут отправлять личные сообщения своим друзьям:
- Страница диалога с историей переписки (SSR).
- Форма для отправки нового сообщения (текстареа и кнопка "Отправить") (AJAX).
- Обновление сообщений без перезагрузки страницы.
Взаимодействие с сервером
Гибридный подход:
- SSR - страницы пользователей, посты, комментарии, поиск, список друзей, диалоги генерируются на сервере для индексации поисковиками.
- AJAX - все операции по записи (добавление/удаление друзей, добавление постов, комментариев, отправка сообщений) выполняются через AJAX-запросы без перезагрузки страницы.
Дополнительные возможности
- Загрузка аватарки.
- Статус "онлайн/офлайн".
- Уведомления о новых сообщениях и комментариях.