Caution
Проект находится в стадии разработки и предназначен для образовательных целей.
Fairturn — это приложение, созданное для справедливого распределения очередности сдачи лабораторных работ. Оно устраняет субъективность при распределении приоритетов, предоставляя возможность автоматического управления очередью на основе объективных критериев.
Приложение идеально подходит для преподавателей и студентов, помогая сделать процесс сдачи лабораторных работ максимально прозрачным и удобным.
Для использования нашей программы:
- Один из участников группы или подгруппы создает веб-таблицу в Excel и предоставляет доступ для редактирования всем, у кого есть ссылка.
- Все члены группы заполняют таблицу своими данными.
- После заполнения таблицы ответственный участник запускает Fairturn.exe.
- Программа автоматически обработает данные и сформирует окончательный список.
Посмотрите, как работает программа: Видео работы программы.
Инструкции по установке и использованию приведены ниже.
- Упрощение процесса сдачи лабораторных работ.
- Обеспечение равенства участников.
- Исключение субъективных факторов при определении очередности.
- Импорт данных из веб-таблиц для автоматизации ввода.
- Ручной ввод данных для более гибкого управления.
- Сортировка участников по количеству выполненных лабораторных работ.
- Чтение и запись данных в файлы для удобного хранения и обмена.
- Интеграция с Google Sheets через Python-скрипты.
- Простое меню для быстрого доступа к функциональности.
- Скачайте релиз:
- Загрузите последнюю версию архива из раздела GitHub Releases
- Распакуйте файлы:
- Распакуйте архив в удобную директорию.
- Перейдите на Google Cloud Console.
- Войдите в свою Google учётную запись.
- Создайте новый проект:
- Нажмите New Project.
- Укажите название проекта (например, "My Desktop App").
- Нажмите Create.
- Посмотреть фото_1
- Посмотреть фото_2
- Перейдите в раздел APIs & Services → Library.
- Найдите и включите нужные API:
- Google Sheets API.
- Нажмите Enable для каждого API.
- Перейдите в APIs & Services → OAuth consent screen.
- Настройте параметры:
- User Type: Выберите
External
. - Укажите:
- Application Name: Имя вашего приложения.
- Email: User support email и Developer contact information.
- Test users: когда вы будете на 3 шаги добавьте свою почту в Test users
- User Type: Выберите
- Нажмите Save and Continue.
- Перейдите в APIs & Services → Credentials.
- Нажмите Create Credentials → OAuth client ID.
- Укажите:
- Application Type: Выберите
Desktop Application
. - Дайте приложению имя (например, "My Desktop App").
- Application Type: Выберите
- Нажмите Create.
- Скачайте файл
credentials.json
:- После создания клиента появится окно с данными.
- Нажмите Download JSON.
- Сохраните файл в папку приложения(которая находится в Releases) и переименуйте его в
credentials.json
. Должна получится структура, как на фото. - Посмотреть фото
- Запустите файл
forpython.bat
и следуйте инструкциям в окне. Этот файл проверит:- Установку Python.
- Установку всех необходимых библиотек.
- После завершения запустите Python-скрипт
tok.py
:- Можно через консоль или редактор кода (как вам удобнее).
- Вас перекинет на страницу Google, где:
- Выберите аккаунт, с которым создавался токен.
- Предоставьте доступ приложению.
- Если у вас появилась в google надпись
The authentication flow has completed. You may close this window.
- значит всё прошло успешно и в директорию проекта добавился файлtoken.pickle
- Запустите
Fairturn.exe
. - Пользуйтесь приложением! 🎉
Проект состоит из нескольких независимых модулей, что позволяет легко изменять или добавлять новый функционал.
- parserIN: Извлечение данных из веб-таблиц.
- parserOUT: Запись данных из файла в веб-таблицу.
- ranging: Сортировка участников по заданным критериям.
- input: Модуль для ручного ввода данных.
- writeToFile: Сохранение данных в файл.
- inputFromFile: Чтение данных из файла.
- logo: Отображение логотипа программы.
- menu: Основное меню программы.
- sorting: Вывод отсортированных данных.
Каждый модуль протестирован на различных сценариях ввода и вывода данных.
- Корректное выполнение всех функций.
- Работа с большими объёмами данных.
- Полная совместимость с Python 3.10+ и компиляторами C++ (GCC, Clang, MSVC).
Этот проект распространяется под лицензией Apache License 2.0.
Подробнее можно ознакомиться с лицензией по следующей ссылке: Apache License 2.0.