Необходимо разработать WEB-приложение “ToDo” для управление задачами пользователя.
- Создание, изменение и удаление задач пользователем.
- Изменение статуса задачи: новая, выполняется, выполнена, отклонена.
- Уведомление пользователя о просроченных задачах.
- Пользователи в системе должны регистрироваться при входе в приложение посредством ввода данных.
- В результате регистрации пользователя на его электронный адрес должно приходить уведомление о регистрации.
- Каждый пользователь управляет только своими задачами.
- В случае просрочки срока выполнения задачи пользователь должен получать уведомление об этом по электронной почте.
- Необходимо использовать следующие технологии: а) ASP.NET MVC 5, WebApi 2, ASP.NET Identity 2, Entity Framework 6; б) MS SQL Express 2012/2014 или LocalDb; в) Bootstrap 3 (LESS-исходники) или аналог для UI; г) AngularJS или KnockoutJS (или аналогичный клиентский фреймворк).
- Приложение должно быть доступно через сеть Интернет.
- Вход и регистрация пользователя по логину и паролю.
- Объектная модель данных приложения должна включать следующие объекты: а) пользователь: имя, логин, e-mail б) задача: наименование, текст, статус (новая, выполняется, выполнена, отменена), срок создания, срок выполнения.
- Технические параметры почтовых уведомлений должны задаваться в web.config.
Пользовательский интерфейс приложения должен быть доступен через веб-обозреватель и удовлетворять следующим требованиям.
- При входе в приложение пользователю отображается форма ввода логина и пароля и ссылка на форму регистрации нового пользователя.
- Для успешно аутентифицированных пользователей должен отображаться список задач, содержащий наименование, срок исполнения и статус каждой задачи.
- Список задач должен иметь сортировку по всем полям списка.
- Список задач должен иметь фильтры по дате и статусу.
- По нажатию на элемент (строку) списка должно открываться модальное диалоговое окно с формой редактирования задачи.
- Должна быть реализована кнопка создания новой задачи, открывающая форму ввода параметров задачи.
- Должна быть предусмотрена кнопка удаления задач.
Необходимо предоставить проект для Visual Studio 2012/2013 в виде набора файлов или репозитории Mercurial.