Scheduling application - desktop C# WPF приложение для составления расписания с использованием веб-сервиса/RESTful API.
Спецификация проекта:
- Captcha:
- Имеется обязательная капча при запуске приложения для проверки, является ли пользователь человеком.
- Управление данными:
- Добавление, изменение и удаление информации о:
- cеместрах,
- неделях,
- предметах,
- типах аудиторий,
- кабинетах,
- преподавателях,
- группах,
- пaрах,
- днях.
- Добавление, изменение и удаление информации о:
- Проверка корректности информации:
- Реализация проверок на корректность введенных данных перед отправкой на сервер.
- Интеграция с веб-сервисом:
- Взаимодействие с RESTful API для обмена данными о расписании.
- Экспорт данных:
- Возможность экспорта данных в формат Excel для печати.
- Интерфейс:
- Разработка пользовательского интерфейса с использованием технологии WPF для удобной навигации и управления данными.
- Производительность:
- Оптимизация приложения для быстрого отклика на действия пользователя при работе с данными.
- Тестирование:
- Проведение тестирования функционала приложения для обеспечения корректной работы всех компонентов.
- Язык программирования: C#
- Технологии: WPF, RESTful API для обмена данными.
Прежде чем начать работу с приложением, пользователю необходимо пройти простую капчу. Данное приложение предоставляет удобный интерфейс для работы с данными расписания в учебном заведении.
Важно отметить, что информацию о днях можно только добавлять и удалять, не редактировать. Приложение обеспечивает проверку вводимой информации на корректность, что помогает избежать ошибок при составлении расписания. Благодаря использованию RESTful API, приложение обладает гибкостью и может обновлять данные в реальном времени, отображая актуальное расписание. С помощью этого приложения вы сможете эффективно организовать рабочий процесс по составлению расписания, упростить управление данными и повысить точность информации. А также приложение обеспечит вас удобным и интуитивно понятным интерфейсом для работы с расписанием.
Пользователям также доступна возможность экспорта данных в Excel файл для удобного сохранения и отображения информации. Необходимо иметь в виду, что процесс экспорта данных может иметь свои особенности и нюансы, связанные с форматированием и структурой Excel файла.
Важно отметить, что данное решение является демонстрационным примером и не предполагает полностью верное или законченное решение для всех случаев использования. Реальное приложение требует более глубокого анализа и обработки различных случаев взаимодействия.
Изображения
Тесты:
-
Общая функциональность:
- Загрузка приложения без ошибок
- Наличие всех основных компонентов интерфейса
- Навигация между различными разделами приложения
- Возможность добавления, изменения и удаления информации об объектах базы данных
-
Проверка информации на корректность:
- Валидация вводимых данных на стороне клиента
- Обработка ошибок ввода данных
-
Взаимодействие с RESTful API:
- Проверка корректности отправки запросов к API
- Обработка ответов API (успешные и ошибочные)
-
Экспорт данных в Excel:
- Возможность экспорта данных в Excel file
- Проверка корректности данных в экспортированном Excel файле
-
Тестирование удаления данных:
- Проверка корректности удаления записей из различных сущностей, у которых нет связей в других таблицах.
- Проверка удаления записи, у которых есть связи в других таблицах.
- Убедиться, что запись осталась нетронутой.
-
Тестирование графического интерфейса:
- Проверка отображения данных
- Проверка работы элементов управления (кнопки, поля ввода, выпадающие списки и т. д.)
- Адаптивность интерфейса под различные разрешения экранов
-
Тестирование производительности:
- Проверка скорости отклика приложения при работе с большим объемом данных
- Тестирование при работе с медленным интернет-соединением
В данном проекте использованы следующие библиотеки:
- Microsoft.AspNet.WebApi.Client: для взаимодействия с RESTful API и обмена данными.
- Newtonsoft.Json: для работы с JSON-форматом данных и их сериализации/десериализации.
- Microsoft.Office.Interop.Excel: для создания и обработки Excel файлов в составе приложения.
- MahApps.Metro.IconPacks.Material: для использования красочных иконок и улучшения пользовательского интерфейса.