|
1 | 1 | <h1 align="center">ITMO.Widgets</h1> |
2 | 2 |
|
3 | 3 | <p align="center"> |
4 | | - <strong>Полезные виджеты для студентов ИТМО на Android</strong> |
| 4 | + <strong>Ультимативный набор инструментов для студентов ИТМО на Android</strong> |
5 | 5 | <br /> |
6 | | - <a href="https://github.com/alllexey-dev/ITMO.Widgets/releases/latest"><strong>» Скачать приложение «</strong></a> |
| 6 | + <a href="https://github.com/alllexey-dev/ITMO.Widgets/releases/latest"><strong>» Скачать последнюю версию «</strong></a> |
7 | 7 | </p> |
8 | 8 |
|
9 | | -**ITMO.Widgets** — коллекция виджетов для Android, созданная для упрощения студенческой жизни в ИТМО.<br> |
10 | | - |
11 | | -<a href="https://github.com/users/alllexey-dev/projects/1"><strong>Roadmap & status </strong></a> |
12 | | -## О приложении |
13 | | - |
14 | | -**Виджеты**: |
15 | | - - QR-пропуск в корпуса университета |
16 | | - - Текущая/следующая пара (два стиля) |
17 | | - - Расписание на день (два стиля) |
18 | | - |
19 | | -**Особенности**: |
20 | | - - Адаптивная тема приложения и виджетов |
21 | | - - Интерфейс с расписанием на несколько дней |
22 | | - - Кэширование расписания |
23 | | - - Два способа входа - через ITMO ID или через токен MyITMO |
24 | | - - Динамическое обновление виджетов |
25 | | - - Скорость и лёгкость (вес apk <10 МБ) |
26 | | - |
27 | | -Проект использует [my-itmo-api](https://github.com/alllexey123/my-itmo-api) для взаимодействия с личным кабинетом ИТМО. |
28 | | - |
29 | | -## Установка |
30 | | - |
31 | | -Собранные APK доступны в [Releases](https://github.com/alllexey-dev/ITMO.Widgets/releases), можно собрать из исходников самостоятельно. |
| 9 | +<p align="center"> |
| 10 | + <img src="https://img.shields.io/github/v/release/alllexey-dev/ITMO.Widgets?style=flat-square&color=blue" alt="Latest Release" /> |
| 11 | + <img src="https://img.shields.io/github/downloads/alllexey-dev/ITMO.Widgets/total?style=flat-square&color=orange" alt="Downloads" /> |
| 12 | +</p> |
32 | 13 |
|
33 | | -## Использование |
| 14 | +**ITMO.Widgets** — это больше не просто виджеты. Это набор утилит, который автоматизирует рутину, позволяет записываться на спорт "в один клик" (или вообще без кликов) и держит расписание под рукой. |
34 | 15 |
|
35 | | -Для получения расписания и QR-кода необходим токен MyITMO, получить его можно двумя способами: |
36 | | -1. Войдя через ITMO.ID в настройках приложения (данные для входа не сохраняются, передаются только на сервера ИТМО). |
37 | | -2. Напрямую вставив токен в настройках приложения (инструкция далее). |
| 16 | +## ✨ Возможности |
38 | 17 |
|
39 | | -### Как получить токен? |
| 18 | +### 📅 Виджеты расписания |
| 19 | +* **Два вида:** |
| 20 | + * *Single:* Показывает текущую или следующую пару. |
| 21 | + * *List:* Список пар на весь день (сегодня или завтра). |
| 22 | +* **Кастомизация:** Два стиля, опции скрытия преподавателей или прошедших пар. |
| 23 | +* **Умное обновление:** Данные кешируются и доступны офлайн. |
40 | 24 |
|
41 | | -1. Откройте [личный кабинет MyITMO](https://my.itmo.ru/) в браузере на компьютере. |
42 | | -2. Откройте инструменты разработчика, нажав клавишу `F12`. |
43 | | -3. Перейдите на вкладку **Application** (в Chrome) или **Storage** (в Firefox). |
44 | | -4. В меню слева выберите **Cookies** и найдите сайт `my.itmo.ru`. |
45 | | -5. Найдите в списке cookie с названием `auth.refresh_token.itmoId` и скопируйте его значение. |
46 | | -6. Вставьте скопированный токен в соответствующее поле в приложении. |
| 25 | +### 🔐 Умный QR-код |
| 26 | +* **Быстрый доступ:** Пропуск в университет всегда на главном экране. |
| 27 | +* **Спойлер:** Скрывает QR-код за "цифровым шумом" (анимация по клику), чтобы случайно не скомпрометировать ваш пропуск. |
| 28 | +* **Динамические цвета:** Подстраивается под обои вашего телефона (Material You). |
| 29 | +* **Умное обновление:** Данные кешируются и доступны офлайн. |
47 | 30 |
|
48 | | -**Никому не сообщайте ваш токен!** Приложение хранит его **локально** и использует исключительно для отправки запросов на серверы MyITMO (см. исходный код). |
| 31 | +### 🏃♂️ Спорт и Автозапись |
| 32 | +* **Удобная запись:** Календарь занятий с фильтрами по времени, корпусу, преподавателю и виду спорта. |
| 33 | +* **Автозапись:** |
| 34 | + * *Очередь на освободившееся место:* Если занятие забито, можно встать в очередь. Как только место освободится - приложение запишет вас. |
| 35 | + * *Очередь на будущее:* Можно заранее встать в очередь на занятие, которое еще не появилось в расписании (на 2 недели вперед) (лимитированно). |
| 36 | + * *Важно: ваше устройство должно быть онлайн в момент срабатывания автозаписи* |
| 37 | +* **Статистика:** Просмотр баллов, посещений и прогресса до зачета. |
49 | 38 |
|
| 39 | +### 🔔 Сервисы |
| 40 | +* **My ITMO Web:** Встроенный браузер для доступа к полному функционалу личного кабинета без повторного ввода пароля. <br>*Замечание: пока работает не на всех устройствах.* |
50 | 41 |
|
51 | | -После этого просто добавьте виджеты на экран, пользуйтесь! |
52 | | -## Примеры |
| 42 | +## 📸 Скриншоты виджетов |
53 | 43 |
|
54 | 44 | <p> |
55 | 45 | <img height="256" alt="image" src="https://github.com/user-attachments/assets/c8521157-dfc6-4cdf-95ea-b215e722a647" /> |
56 | 46 | <img height="256" alt="image" src="https://github.com/user-attachments/assets/99109bab-a5c1-4018-bd2e-fb36ca6e738b" /> |
57 | 47 | <img height="256" alt="image" src="https://github.com/user-attachments/assets/447de56c-d6d3-41bb-9897-c2145aa3ccc6" /> |
58 | 48 | <img height="256" alt="image" src="https://github.com/user-attachments/assets/fe290ce8-13e9-4372-8304-9845b7bfc783" /> |
59 | 49 | </p> |
| 50 | + |
| 51 | +## 🚀 Установка |
| 52 | + |
| 53 | +Скачайте актуальный `.apk` файл из раздела [Releases](https://github.com/alllexey-dev/ITMO.Widgets/releases). |
| 54 | + |
| 55 | +## 🔑 Авторизация |
| 56 | + |
| 57 | +Для работы приложения необходим доступ к API MyITMO. |
| 58 | + |
| 59 | +**Способ 1: Вход через ITMO.ID (Рекомендуется)** |
| 60 | +Просто нажмите кнопку "Войти" на экране приветствия или в настройках. Приложение откроет страницу авторизации ИТМО. Ваши логин и пароль вводятся на официальном сайте, приложение получает только токен доступа. |
| 61 | + |
| 62 | +**Способ 2: Ручной ввод токена** |
| 63 | +Если автоматический вход не работает, можно ввести `refresh_token` вручную в настройках: |
| 64 | +1. Откройте [my.itmo.ru](https://my.itmo.ru/) на ПК. |
| 65 | +2. Нажмите `F12` -> вкладка **Application** (Storage). |
| 66 | +3. Раздел **Cookies** -> `https://my.itmo.ru`. |
| 67 | +4. Скопируйте значение `auth.refresh_token.itmoId`. |
| 68 | + |
| 69 | +## 🛡️ Приватность |
| 70 | + |
| 71 | +Мы серьезно относимся к безопасности ваших данных: |
| 72 | +* Приложение имеет **открытый исходный код**. |
| 73 | +* Ваш токен сохраняется **только локально** на вашем устройстве. |
| 74 | +* Если вы включаете "Пользовательские сервисы" (для автоазаписи), токен передается на наш сервер исключительно для авторизации. На сервере токен **не сохраняется** и **не используется для отправки запросов к ITMO** (хранится только номер ИСУ студента). Исходный код сервисов тоже открыт: [itmo-widgets-backend](https://github.com/alllexey-dev/itmo-widgets-backend) |
| 75 | + |
| 76 | +--- |
| 77 | + |
| 78 | +Проект использует [my-itmo-api](https://github.com/alllexey-dev/my-itmo-api) для взаимодействия с API университета и [itmo-widgets-core](https://github.com/alllexey-dev/itmo-widgets-core) для взаимодействия с сервисами. |
0 commit comments