Необходимо реализовать систему прохождения тестирования на C#, платформа - ОС Windows.
Программа состоит из интерфейса пользователя и администратора.
Интерфейс пользователя включает в себя просмотр теоретического материала по различным темам - каждая тема имеет свое название и теоретический материал, состоящий из обычного текста. После прочтения теории по конкретной теме, пользователю предлагают пройти тестирование по этой теме. Каждый вопрос имеет свой вес(сложность), ограничение по времени (для всех вопросов одинаково). Вопросы бывают двух типов - либо с выбором варианта ответа из трех предложенных (для всех вопросов существует только 1 правильный вариант ответа), либо вопрос из ряда "вставьте пропущенное слово". После того, как пользователь прошел (либо ответил, либо истекло время для ответа) последний вопрос, система показывает его балл (который считается с учетом веса/сложности вопросов) и максимальный балл, который можно было получить, ответив правильно на все вопросы. Так же система сохраняет результат в БД. Если пользователь повторно проходит тестирование по данной теме, то результат в БД должен обновиться, если он набрал балл выше прошлого. После этого пользователь может либо пройти тест заново, либо вернуться к выбору тем для прочтения теории.
Интерфейс администратора состоит из окна-редактора БД.
Должна присутствовать примитивная процедура регистрации пользователя - через логин и пароль. Пароль хранится в БД в чистом виде. Логин и пароль от админа можно захардкодить в БД. Таким образом, на стартовом окне мы предлагаем юзеру либо войти, либо зарегистрироваться. Если он ввел логин и пароль от админа - открываем интерфейс админа - окно редактора БД, если пользователя - открываем интерфейс пользователя.
В качестве БД использовать SQLite.
В качестве IDE желательно, но не необходимо, Visual Studio C#.