Требования к проекту
• Решение должно иметь трехслойную архитектуру. Уровень доступа к данным, бизнес-логика, веб-приложение должны быть вынесены в отдельные проекты.
• Интерфейс должен быть реализован с использованием технологий html, css, js + можно использовать Bootstrap.
• Приложение должно быть реализовано как ASP .NET MVC (.NET Framework).
• Реализовать разграничение прав доступа пользователей системы к компонентам приложения (минимум 2-3 роли).
• Информацию о предметной области хранить в БД, для доступа использовать Entity Framework Code First. В качестве СУБД использовать MS SQL
• Предусмотреть валидацию вводимых пользователем данных.
• Обратить внимание на скорость работы проекта, зависание интерфейса при выполнении операций загрузки данных, фильтрации, сортировки нежелательно;
• Код должен содержать XML-комментарии (все классы верхнего уровня, нетривиальные методы и конструкторы).
• Код должен быть организован так, чтобы его можно было заново использовать и относительно легко подменять в нем реализации логических частей;
• Предусмотреть обработку ошибок!
• Соблюдать правила clean code - внутренняя организация и структура кода проекта будут оцениваться не менее тщательно чем внешнее соответствие проекта заданию;
• Классы и методы должны иметь отражающую их функциональность названия и должны быть грамотно структурированы в приложении (folders, namespaces).
• Оформление кода должно соответствовать C# Code Conventions (MSDN).