Менеджер контактов родственников
Реализуйте сервис, в котором пользователь может хранить контакты родственников.
Продумайте структуру базы данных для хранения пользователей и контактов. Реализуйте регистрацию и авторизацию пользователей. Настройте серверную часть для работы с API. Все операции должны выполняться через AJAX-запросы без перезагрузки страницы.
Основные возможности проекта
- Регистрация и авторизация пользователей.
- Таблица с именами родственников и их контактами.
- Поддержка контактов: номера телефонов, Telegram, социальные сети, домашние адреса.
- Операции: создание, редактирование, удаление записей через AJAX.
- Каждый пользователь видит только свои контакты.
Регистрация и авторизация
На сайте должна быть реализована регистрация и авторизация пользователей:
- Регистрация - форма с полями: логин, email, пароль.
- Авторизация - форма с полями: логин, пароль.
- Каждый пользователь видит только свои контакты.
Главная страница
На странице должна быть таблица со списком всех родственников пользователя. Каждая запись должна содержать:
- Имя родственника.
- Номера телефонов.
- Telegram (username).
- Ссылки на социальные сети.
- Домашний адрес.
- Кнопки действий: редактировать, удалить.
Добавление контакта
Над таблицей должна быть форма для добавления нового контакта с полями:
- Имя (инпут, обязательное поле).
- Телефоны (инпут, можно добавить несколько через разделитель).
- Telegram (инпут).
- Социальные сети (инпут, можно добавить несколько через разделитель).
- Домашний адрес (текстареа).
- Кнопка "Добавить".
Редактирование контакта
При нажатии на кнопку "Редактировать" открывается форма (модальное окно или форма на месте), заполненная текущими данными контакта. После редактирования и нажатия на кнопку "Сохранить" запись обновляется через AJAX.
Удаление контакта
При нажатии на кнопку "Удалить" появляется подтверждение (confirm), после чего запись удаляется через AJAX.
Взаимодействие с сервером
Все операции выполняются через AJAX-запросы:
- При загрузке страницы данные загружаются с сервера.
- При добавлении, редактировании или удалении данные отправляются на сервер, после успешного ответа обновляется интерфейс.
Дополнительные возможности
- Поиск по имени родственника.
- Сортировка по имени (алфавитный порядок).