Виды пользователей:
- пациент (User)
- врач (Doctor)
- Admin
Для каждого вида пользователей необходимо реализовать следующий функционал:
- Пациент может зарегистрироваться, войти в свой личный кабинет (Profile), просматривать список врачей по категориям, записаться на прием, получить рекомендации от врача после приема.
- Врач может войти в личный кабинет (Profile), просмотреть список записавшихся пациентов, дать рекомендации пациенту. Врач может относится к определенной категории (терапевт, кардиолог и тд).
- Админ имеет доступ к списку пациентов и врачей. Может создавать категории, врачей, асайнить определенного врача к категории. (можно реализовать через ActiveAdmin/Administrate)
Требования по аутентификации и авторизации:
- использовать devise;
- реализовать login через phone-password;
- использовать gem cancancan для разграничения прав пользователей;
Требования по таблице категорий:
- валидация на уникальность по имени;
- возможность добавления нескольких врачей;
Требования по таблицам Врач-Пациент:
- реализовать связь many-to-many;
- у врача может быть только 10 открытых записей (одновременно);
- запись автоматически закрывается (не удаляется) после того, как врач напишет пользователю рекомендацию;
Общие требования:
- Сделать публичную часть для пациентов и врачей;
- Для реализации админки можно использовать ActiveAdmin;
- Картинки хранить на S3 или Cloudinary;
- Выложить проект на Heroku, а код на GitHub. Прислать ссылки + доступы в админ часть и публичную часть.