У нас есть внутренняя система написанная на php, которая используется для записи клиентов салона красоты. Решили ее переписать на современной платформе, для того чтобы получить возможность ее свободно модернизировать и не зависеть от единственного разработчика.
В качестве FW для разработки был выбран Yii2.
Ищем исполнителя первых двух этапов реализации:
1. Этап: Базовая настройка Yii2, настройка авторизации и аутентификации пользователей.
1) CRUD (Create, Read, Update, Delete) пользователей.
2) CRUD ролей.
3) Реализация доступа на основе ролей.
4) Реализация возможности копирования всех доступов из определённой группы или пользователя в целевую группу.
5) Реализация формы входа в систему.
6) Интеграция сервиса отправки SMS. (сейчас поставить заглушки для монтирования класса по отправке смс агрегатором)
7) Реализация восстановления пароля. Новый пароль автоматически генерируется и приходит по SMS. В форме вводим только имя пользователя и мобильный телефон.
8) Реализация формы запроса на сброс пароля, с ограничением количества восстановления паролей.
9) Реализация периодического обновления пароля. Новый пароль автоматически генерируется и приходит по SMS.
10) Доступ на основе ролей к любым существующим модулям: к модулю в целом (есть/нет вообще доступ), и по каждому элементу CRU, по каждому полю CRUD уровни доступа: 1) не видит вообще, 2) видит но не может изменять, 3) видит и может изменять но только инкрементально для текстовых полей,4) может изменять
11) У пользователей можно задавать логин, пароль, ФИО, телефон, цвет админа в системе.
12) У ролей также должна задаваться количество дней до автоматического сброса пароля.
13) Количество попыток восстановления должно управляться в системных настройках.
14) Роль с настройками всех доступов должно быть можно склонировать в другую новую роль.
2. Этап: Календарь событий.
1) Нужно сделать базовый аналог гугл календаря.
2) События должны показываться в двух видах: неделя и день (см. гугл календарь).
3) События должны привязываться к пользователю работающему в системе.
4) События должны быть цвета пользователя работающего в системе (в профиле пользователя можно указать цвет).
5) На одного пользователя не должно быть событий пересекающихся по времени, система не должна такое давать сделать.
6) Таблица событий должна содержать информацию: создатель, исполнитель (назначенный пользователь системы), дата и время создания, дата и время начала, дата и время конца, описание текстовое.
7) На компьютере должен работать драг&дроп,т.е. можно растягивать (и менять тем самым время конца события и его длительность). (аналог гугл календаря), переносить событие по дню и по разным дням. В мобильном браузере система тоже должна корректно работать. Но drag&drop должен быть ограничен в мобильных браузерах (ipad/iphone) можно только переносить событие целиком по дням недели и по дню но нельзя растягивать событие.
8) При клике на событии должен открываться интерфейс работы с данными позволяющими редактировать данные 6, в соответствии с настройками доступа роли. Интерфейс должен открываться ajax-ом на странице с недельным выводом, а не переходить на другую страницу.
Интересует примерная оценка реализации каждого этапа по срокам и стоимости.
UPD. Необходима примерная оценка. Дизайн системы на данный момент достаточен штатный от yii2. Все неуказанные моменты исполнитель может трактовать в свою пользу. При условии предварительных договоренностей составим подробное техническое задание.