Git Product home page Git Product logo

university-app's Introduction

university-app

Codemagic build status

Это мобильное приложение с полностью открытым исходным кодом для студентов и преподавателей РТУ МИРЭА.

Скриншоты

Ваше участие

Это приложение является 100% бесплатными и Open Source продуктом. Мы с огромным удовольствием примем любые ваши предложения и сообщения, а также мы рады любому вашему участию в проекте! Перед тем как принять участие в развитии проекта:

  1. Ознакомьтесь с нашим CONTRIBUTING.MD, в котором описано то, как должны вести себя участники проекта.
  2. Уважайте других участников, обсуждайте идеи, а не личности, ознакомьтесь с кодексом поведения.
  3. Не знаете, над чем вы хотите работать? Ознакомьтесь с нашей дорожной картой.

Разработчики

university-app's People

Contributors

0niel avatar benzlokzik avatar dragonprod avatar eloren1 avatar iv2005an avatar l3odr0id avatar lokot0k avatar madl1me avatar maxbqb avatar necrosskull avatar renovate[bot] avatar shmyaks avatar tinyclayman avatar trollope071 avatar uslashvlad avatar witelokk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

university-app's Issues

[FEATURE REQUEST] Уведомления за несколько минут до начала пары

Проблема.
Во время дистанционных лекций, сидя за ПК часто забываешь о том, что лекция скоро начнётся. Во время очных пар и большой перемены иногда хочется чиллить и не смотреть телефон.

Решение
Настраиваемые локальные Push уведомления за некоторое время до начала пары.

[FEATURE REQUEST] Самостоятельное редактирование расписания

Проблема
Парсер не всегда способен отработать точно, бывают редкие случаи, когда расписание для одного или группы предметов отображается неправильное. Такие случаи замечались и в приложении Mirea Assistant.

Решение
Нужно сделать возможность редактирования расписания предмета. При нажатии на кнопку "редактировать расписание предмета", у человека будет открыто диалоговое окно с возможностью выбора множества недель, на которых этот предмет проходит, а также отредактировать пару, на которой этот предмет. После редактирования у человека с помощью ScheduleLocalDatasource будет сохраняться локально отредактированная версия расписания с пометкой о том, что оно редактировалось. При обновлении с удалённого репозитория необходимо спрашивать разрешение на перезапись локального репозитория, чтобы человек не потерял свои изменения.

Альтернатива
Возможно хорошей альтернативой локальному сохранению будет отправка расписания на сервер и премодерацию расписания. Администратор просмотрит изменения пользователя и выяснит, является ли то расписание, которое отдаётся сервером, ошибочным. Если является, то администратор предпримет действия, для решения проблемы (фикс парсера). На время фикса у людей будет подгружаться то расписание, которое было отправлено клиентом (изменённое).

[FEATURE REQUEST] - Пользовательские заметки к любым парам

Заметки

Необходимо создать поле «заметок» для каждой из парю куда каждый студент пишет произвольный текст. Заметка автоудалится после того, как пара кончилась

Пример реализации:
Сделать поле с названием пары/аудиторией активной кнопкой. При нажатии появляется расширенная информация: на каких неделях эта пара, преподаватель и поле для ввода произвольного текста. Произвольный текст отображается только на той паре, где он был введен (такие же пары на следующих неделях не должны содержать данного текста)
Заметка должна отображаться в САМОМ РАСПИСАНИИ. Ввод заметки или ее изменение - через активную кнопку пары.

Для чего?
Например преподаватель сообщает что через неделю на паре будет контроха
Функция «заметок» позволит записать это событие и при дальнейшем просмотре расписания даст подготовиться

Поле ввода группы перекрывает стандартный интерфейс iPadOS

Описание ошибки
В альбомной ориентации iPadOS время, дата накладываются на поле ввода группы

Воспроизведение ошибки
Шаги воспроизведения:

  1. Перейдите в окно ввода группы
  2. Нажмите на поле ввода
  3. Смотрите ошибку

Ожидаемое поведение
Поле ввода располагается ниже времени и даты.

Скриншоты
F6D4FC32-B7F1-412E-ADF7-12D915F1EDE0

Смартфон:

  • Девайс: iPad
  • OC: iPadOS 14.3

[FEATURE REQUEST] Свайпы, масштабирование вложенных фотографий в новостях

Проблема
В разделе Новости в некоторых статьях под основным текстом есть сборники фотографий. Есть возможность нажать на фотографию для показа на весь экран, масштабировать ее без ограничений, выйти из показа на полный экран по кнопке слева сверху.

Решение

  1. Добавить свайпы влево/вправо для листания фотографий;
  2. Добавить свайпы вверх/вниз для выхода из показа фотографии на весь экран;
  3. Ограничить масштабирование.

[FEATURE REQUEST] Уведомление об обновлении приложения

Проблема
Нет возможности определить, установлена ли последняя версия ПО на устройстве.

Решение
При появлении новой версии приложения в магазине конкретной платформы и новом заходе в приложение единоразово появляется уведомление об обновлении. С предложением можно согласиться и перейти на страницу приложения в магазин приложений (ознакомиться с изменениями и обновиться) или проигнорировать и продолжить пользоваться старой версией.

[FEATURE REQUEST]Возможность свайпами влево/вправо переходить на следующую/предыдущую неделю в расписании

Есть
Реализована возможность перехода свайпами влево/вправо на расписание разных дней одной недели. Для перехода на другую неделю нужно выбрать эту неделю в календаре сверху. Находясь в расписании понедельника/воскресенья нельзя свайпнуть вправо/влево, чтобы открыть предыдущую/следующую неделю.

Возможное решение
Находясь в расписании понедельника/воскресенья можно свайпнуть вправо/влево, чтобы открыть воскресенье/понедельник предыдущей/следующей недели.
Календарь сверху также переключится на нужную неделю соответственно.

[BUG] Ошибка загрузки патронов

Описание ошибки
Ошибка загрузки раздела Патроны

Воспроизведение ошибки
Шаги воспроизведения:

  1. Перейти в раздел «Профиль»
  2. Нажать на кнопку «О приложении»
  3. См. ошибку

Ожидаемое поведение
Иконки с патронами

Скриншоты
064529C7-9FFC-40B0-97C7-A295CCAFA9A1

Смартфон

  • Девайс: iPad
  • OS: iPadOS

[FEATURE REQUEST] Страница профиля

В странице профиля должна быть реализована интеграция с форумом: возможность войти через форум, отображение ника, аватрки и уровня доверия. Также на странице профиле должна быть кнопка "О приложении", в котором будет краткое описание и список разработчиков.

[FEATURE REQUEST] Полное ФИО преподавателей

Однозначно нужно полное ФИО. Мне рассказывали почему это сложно (есть однофамильцы с одинаковыми инициалами). Но где это возможно было бы круто сделать.

[FEATURE REQUEST] Маршруты и POI на карте

Одна из не менее важных функций приложения - это помощь в построении маршрутов от одной аудитории до другой, так как первокурсникам, особенно сейчас, крайне тяжело ориентироваться в кампусе ввиду отсутствия нормального Факела

Предлагаю сделать приоритетной задачу добавления маршрутов на карту внутри приложения, чтобы можно было из приложения получить информацию о том, где находится та или иная аудитория по поиску, а также узнать как до неё дойти.

image

В приложении на экране "Карта" появится кнопка "маршруты", по нажатию на которую откроется экран построения маршрута.
По умолчанию отправной точкой всех маршрутов должна быть аудитория последней прошедшей пары (той, которая идёт в данный момент, или той, которая только закончилась, если перемена). В качестве конечной точки можно указать аудиторию (А-108, Г-304, …), а также POI (места интереса, например "столовая", "буфет", "туалет", "медпункт". Если таких мест несколько, выбирается ближайшее). Полагаю, что потребуется создать базу данных для занесения в неё POI, готов заняться этим.

Замечание: есть несколько контекстных POI, например "туалет" или "учебный отдел", поскольку такие места могут отличаться для каждого студента. При выборе в качестве точки назначения "туалета", будет учитываться пол студента на основании профиля (который на момент написания ещё делается, но в профиле нужно будет указать пол, и тогда приложение будет подсказывать соответственно ближайший женский или мужской туалет). При выборе "учебного отдела" в качестве точки назначения, будет учитываться институт студента (его можно узнать из первой буквы инициалов его группы (Икбо, Крбо, Ивбо)

[FEATURE REQUEST] Электронный студенческий билет

Возможность использования телефона как студенческого билета.
Пример: На входе в институт нужно достать студ. билет, приложить его к считывателю, после опять убрать. А если ты забыл студ. билет то это ещё больший геморой.

Добавить возможность конвертации студ. билета в электронную версию по средствам считывания данных с метки в студ. билете или через оф сайт института.
Добавить для телефонов с NFC возможность использования его как пропуска.

Можно сэкономить время людей и ускорить вход в институт при большой нагрузке людей.

[FEATURE REQUEST] Напоминалка с краткой сводкой о сегодняшнем дне

Сдалать напоминалку. Т.е. сделать так чтобы присылалось увидомление в котором была краткая информация о сегоднешнем дне: какая идет неделя(четная/нечетная), какие сегодня пары и в каких они кобинетах и когда они начинаются и заканчиваются

[FEATURE REQUEST] Заметка ко дню на месте 0 пары

Проблема
Нет интегрированной среды, где пользователь сможет делать свои записи, касающиеся обучения. Возможные сценарии пометок: дз, контрольная/защита работы, корректировка расписания, напоминалка задать вопрос преподавателю, обсудить совместную работу с партнёром.

Решение
Возможность создать заметку, причем:

  • заметка прикреплена к конкретному дню конкретной группы, 1 день- 1 заметка (в т.ч. в день без пар)
  • открытие поля ввода текста возможно по нажатию кнопки сверху справа и при свайпе вниз по плиткам пар
  • плитка заметки аналогична плитке пары и находится выше первой пары
  • заметка имеет заголовок и основной текст
  • есть кнопки сохранить, изменить, удалить (с дополнительным подтверждением об удалении)
  • если заметка пустая, то плитка пропадает
  • заметка отображается в календаре точкой со своим уникальным цветом
  • заметка хранится на устройстве пользователя до момента, пока он не захочет ее удалить

Альтернативы
#17, #65, #75

[FEATURE REQUEST] Реализация меню тегов во вкладке "Новости"

Реализация меню тегов

Введение:

  • Ознакомьтесь с нашим CONTRIBUTING.MD, в котором описано то, как должны вести себя участники проекта.
  • Сначала нужно реализовать issues на серверной стороне Backend: mirea-ninja/rtu-mirea-news-parser#3

Функционал (App):

  • Получение списка популярных тегов.
  • Получение списка всех тегов. (по клику)
  • Получение новостей по конкретному тегу. (по клику)
  • Отправка запросов на подсчёт тегов.

Реализация (App)::

  • Использование виджетов по усмотрению реализатора и идей визуализации.
  • Для фильтрации новостей используем фильтр по url запросу на сервер. (На серверной стороне фильтр уже реализован мной)

Дополнительно :

  • Если учитывать теги прокликнутой новости, нужна реализация на подсчёт тегов. (Отправка очередного запроса)

Сложности:

  • Идея визуализации. (Как красиво оформить меню тегов)
  • Расположение меню тегов.

[BUG] Некорректное отображение процента масштаба

Описание ошибки
Дефолтный масштаб 11%
Максимальное отдаление 0%
Максимальное приближение 100%

Воспроизведение ошибки
Шаги воспроизведения:

  1. Перейдите в раздел Карта
  2. Смотреть ошибку
  3. Максимально отдалить карту
  4. Смотреть ошибку
  5. Максимально приблизить карту
  6. Смотреть ошибку

Ожидаемое поведение
Дефолтный масштаб 100% (карту видно целиком)
100% > макс. отдаление >= 1%
Макс. приближение > 100%

Смартфон:
Девайс: iPad

[BUG] - уезжает номер аудитории

Описание ошибки
Не видно номер аудитории, если название предмета слишком длинное.

Скриншоты
image

Смартфон (пожалуйста, заполните следующую информацию):

  • Девайс: iPhone7
  • OS: iOS14.7.1

[BUG] Не отображаются пары при прокрутке со дня каникул

Описание ошибки
Не отображаются пары при прокрутке со дня каникул.

Воспроизведение ошибки
Шаги воспроизведения:

  1. Нажать на 31 августа
  2. Свайпать до дня с парами
  3. Смотреть, что пар нет

Ожидаемое поведение
Правдивое отображение пар при нажатии на конкретную дату:
B7B7304E-2E95-4C0F-921D-DA66AC6F23F4

Скриншот бага
3C517F14-F438-4AB0-91E8-740C306FF567

[BUG] После загрузки виджеты с юзерами на странице "О приложении" отображаются по центру

Описание ошибки
На странице "О приложении", в мгновение, когда прогресс индикатор скрывается, то есть когда пользователи (разработчики или патреоны) загружаются, они почему-то отображаются по центру, а потом перемещаются влево. Это выглядит не очень эстетично. Возможно это проблема из-за неявного начального размера Wrap виджета.

Воспроизведение ошибки
Шаги воспроизведения:

  1. Перейдите на страницу Профиля.
  2. Кликните на "О приложении"
  3. Дождитесь, когда пользователи загрузятся.
  4. Смотрите ошибку

Ожидаемое поведение
Все пользователи должны быть прижаты к левому краю. То есть начинаться со старта, как при CrossAxisAligment.start.

Скриншоты или видео
image

default.mp4

[BUG] Ограниченный список новостей

Описание ошибки
После добавления #54 новости на странице новостей больше не подгружаются.

Ожидаемое поведение
Должно загружаться дополнительно +10 новостей при достижении конца списка новостей.

[FEATURE REQUEST] Расписание зачетной, экзаменационной сессий

Проблема
В приложении невозможно посмотреть расписание зачетной, экзаменационной сессий.

Решение
Добавить разделы зачетной, экзаменационной сессий.

Альтернативы
«Сезонное» появление разделов зачетной, экзаменационной сессий.

Пользовательские теги к любым парам

Краткое описание

Сегодня после общения с однокурсниками, решил что нам нужны 2 фичи - и заметки к любым парам, и теги. Запрос на заметки к парам уже есть: #65 , а по тегам нет.

В чем суть тегов, и зачем нужны и теги и заметки? Мне дали сегодня хороший юзкейс - в заметки можно например заносить дз/инфу по паре, а тегами указывать саму "суть" пары - например что будет Кр или тест, тем самым теги можно отображать прямо в календаре, в отличие от заметок.

Приемочные критерии (Dod)

  • Есть возможность создать до 10 различных пользовательских тегов
  • Каждому тегу можно задать свой цвет
  • Теги отображаются в списке пар в календаре. Можно выбрать опцию - отображать теги или не отображать в календаре.
  • Возможность навешивать теги как на конкретную пару, так и на ее "тип". Например навесить на все пары матанализа тег "хардкорхочуумеретьмамапомоги". Или навесить тег "контроша" только на одну определнную пару данного предмета.
  • На пару можно навесить несколько тегов
  • У тегов есть ограничение на размер

[FEATURE REQUEST] Сохранение состояния календаря

Описание
В приложении при переключении календаря (Неделя -> Месяц -> 2 Недели) последнее состояние не сохраняется. При перезапуске приложения приходится заново переключать календарь.

Решение.
Сделать так, чтобы последнее состояние переключателя сохранялось при выходе и восстанавливалось при входе в приложение.

image

[BUG] Скачивание некорректных данных ломает сторис

Описание ошибки
Одна из скачанных сторис имеет некорректные данные, что приводит к поломке всего блока сторис. Предположительно, отсутствуют словари large, medium, small внутри ноды formats

Воспроизведение ошибки
Шаги воспроизведения:

  1. Открыть приложение
  2. Перейти на страницу новостей

Ожидаемое поведение
История с битыми данными может не отображаться, но корретные должны быть обработаны и показаны пользователю

Скриншоты
Скриншот полученных данных:
image

Устройство:
image

Смартфон (пожалуйста, заполните следующую информацию):

  • Девайс: Эмулятор Ipod Touch 7th generation
  • OS: IOS 14.5
  • Версия: Актуальная сборка из dev ветки (в pubspec указана 1.0.1+3)

Дополнительно
Стоит установить проверки на null или хотя бы try-catch на этапах парсинга данных, чтобы в результате опечаток не падало всё остальное

Полный лог ошибки

[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: Unhandled error type 'Null' is not a subtype of type 'Map<String, dynamic>' occurred in Instance of 'StoriesBloc'.
#0      new FormatsModel.fromJson
package:rtu_mirea_app/…/models/strapi_media_model.dart:64
#1      new StrapiMediaModel.fromJson
package:rtu_mirea_app/…/models/strapi_media_model.dart:33
#2      new AuthorModel.fromJson
package:rtu_mirea_app/…/models/story_model.dart:94
#3      new StoryModel.fromJson
package:rtu_mirea_app/…/models/story_model.dart:24
#4      StrapiRemoteDataImpl.getStories.<anonymous closure>
package:rtu_mirea_app/…/datasources/strapi_remote.dart:23
#5      MappedListIterable.elementAt (dart:_internal/iterable.dart:413:31)
#6      ListIterator.moveNext (dart:_internal/iterable.dart:342:26)
#7      new List.from (dart:core-patch/array_patch.dart:40:17)
#8      StrapiRemoteDataImpl.getStories
package:rtu_mirea_app/…/datasources/strapi_remote.dart:22
<asynchronous suspen<…>

[BUG] Зависание приложения при листании календаря вперед

Описание ошибки
Приложение перестает реагировать на действия при листании календаря после 26 декабря.
Лечится после удаления из диспетчера задач и захода заново

Воспроизведение ошибки
Шаги воспроизведения:

  1. Перейдите в раздел расписания
  2. Листать календарь влево на 27 декабря
  3. Зависание

Ожидаемое поведение
Отсутствие календаря в зимние каникулы.

Скриншоты
Момент зависания
A66612D7-E98A-4113-B476-F4A81AED396A

Смартфон (пожалуйста, заполните следующую информацию):

  • Девайс: iPad
  • OS: iPadOS 14.3

Не особо удобный экран добавления группы

На экране добавления группы нет никакого уведомления пользователю о том, почему группа не добавляется (а не добавляться она может, например, из-за проблем с интернетом), на практике некоторые пользователи в этом видят баг, поэтому думаю, что при неудачном добавлении группы (если getSchedule или getAllGroups возвращают Failure), стоит как-то уведомить пользователя, что пошло не так. Также думаю логично будет сделать этот экран добавления первой группы нескрываемым (чтобы он не "уходил" вниз), так как всё равно если его скрыть, он будет всё время показываться, так что скрывать его совершенно нет смысла

На данный момент экран при неудачном добавлении группы выглядит так: ничего как будто бы не произошло, приложение просто как будто бы игнорирует нажатие кнопки, хотя это не так

Screenshot_1631038643

В общем-то решение этой проблемы может быть очень простое фактически:

  • Пытаться добавить группу, загрузить рассписание, если получилось, переходим на экран обзора расписания, иначе сообщаем пользователю, что пошло не так, например, можно под кнопкой показывать красный текст из разряда "Нет подключения к интернету"
  • На вызове ScheduleSettingsModal от первой загрузки экрана расписания (то есть здесь) ставить для функции showModalBottomSheet параметры isDismissible и enableDrag на false, чтобы этот экран нельзя было скрыть

Периодическая проверка подключения уже реализована здесь, что-то не очень внятное написано здесь:

              } else if (state is ScheduleLoadError) {
                return Column(
                  children: [
                    Text(
                      'Упс!',
                      style: DarkTextTheme.h3,
                    ),
                    SizedBox(
                      height: 24,
                    ),
                    Text(
                      state.errorMessage,
                      style: DarkTextTheme.bodyBold,
                    )
                  ],
                );

Выглядит так, как будто если не удалось загрузить расписание, то вместо страницы расписания показывается текст "Упс!" и ошибка, но это не работает, надо будет ещё посмотреть код, чтобы понять почему

Если повезёт, завтра открою PR по этой проблеме

[BUG] Если из группа пропадает на удалённом сервере, но она была скачана, то будет сообщение об ошибке с интернетом

Описание ошибки
Если случилось так, что расписание для какой-то группы было скачано на телефон, но потом эта группа (расписание для неё) пропала из API-сервиса, то при заходе в приложение будет ошибка о том, что не удалось загрузить данные и нужно проверить интернет.

Ожидаемое поведение
Если группа пропала с удалённого сервера, но расписаеие для неё ещё сохранено на телефоне, то нужно показывать кэшированное расписание, а при попытки обновить - выдавать ошибку.

Скриншоты
image

[FEATURE REQUEST] Перезагрузка раздела новостей

Текущее состояние
При заходе во вкладку Новости при отсутствии Интернета появляется надпись «Произошла ошибка при загрузке новостей.». После подключения к Интернету новости не появляются.

Решение
Подгрузка новостей автоматически при подключении к Интернету

Альтернативы
Кнопка обновления, подобно обновлению расписания группы

Дополнительно
Обновление по свайпу вниз, подобно ленте в соц сетях

[BUG] Артефакты отрисовки пиктограм при большом масштабе карты

Описание ошибки
Неограниченное масштабирование карты позволяет наблюдать артефакты при отрисовке пиктограм при большом масштабе.

Воспроизведение ошибки
Шаги воспроизведения:

  1. Перейдите на вкладку карты
  2. Сильно увеличивайте масштаб, так чтобы край символа или иконки продолжал оставаться в кадре.

Ожидаемое поведение
Масштабирование ограничено, так сильно приблизить карту нельзя.

Запись экрана

default.mp4

Смартфон

  • Девайс: OnePlus Nord какой-то
  • OS: Android 11
  • Браузер: Firefox
  • Версия 1.0.1

[BUG] Кнопки в разделе "О приложении" выходят за границу экрана

Описание ошибки
Кнопки Github и Telegramm слишком жирные, и выходят за границы экрана

Воспроизведение ошибки
Шаги воспроизведения:

  1. Перейти в "О приложении"

Ожидаемое поведение
Кнопки не выходят за границы экрана

Скриншоты
image

Смартфон:

  • Девайс: iPhoneSE
  • OS: iOS 14.6

[FEATURE REQUEST] Расписание учителя

Проблема
В README указано, что приложение создано для студентов и преподавателей. Инструментов для преподавателей нет. Предлагаю возможность просмотра расписания преподавателя. Зачем?

  • инструмент для преподавателя (первый и самый необходимый, ни один преподаватель не будет искать свою фамилию в расписаниях огромного кол-ва групп)
  • поиск преподавателя для студентов (в начале и конце семестра встретил много должников, ищущих преподавателей)

Решение
Возможность в поле ввода группы ввести фамилию преподавателя и увидеть его расписание

[BUG] Бесконечная загрузка расписания при медленном соединении

Описание ошибки
При медленном интернете или при отсутствии сети (но интернет включен), расписание пытается бесконечное количество времени загрузиться из удалённого репозитория. Помогает только отключение интернета в самой системе.

Ожидаемое поведение
Необходимо, чтобы при отсутствии соединения сразу же открывалась локальная версия расписания.

[FEATURE REQUEST] Оптимизировать ввод группы с клавиатуры

Проблема
Из отзыва в Play Market: "При вводе номера группы раскладка с цифр автоматически меняется на буквы, так что ввод группы занимает определенное время"

Решение
Оптимизировать ввод таким образом, чтобы не менялась раскладка, а также чтобы знак "-" ставился автоматически.

[BUG] Зависание приложения при перелистывании на 17-ю неделю

Описание ошибки
Если календарём перелистать до 17-й или 18-й недели, то приложение намертво зависнет. Возникает какое-то исключение.

Воспроизведение ошибки
Шаги воспроизведения:

  1. Перейдите в 'Расписание'
  2. Кликните на стрелочку вправо или свайпайте до момента, пока не доберётесь до 17-й или 18-й недели.
  3. Смотрите ошибку

Ожидаемое поведение
Календарь на этих неделях должен отображаться, но пар на этих неделях быть не должно. Либо календарь должен на этих неделях прекращать свайпаться, но не зависать.

[FEATURE REQUEST] Возврат стандартного размера карты, ограничение масштабирования

Текущая реализация
Возможность уменьшать карту до полного исчезновения, увеличивать до нечитабельного состояния. Лечится масштаб при повторном заходе в раздел.

Решение
Показывать текущий % масштабирования. При нажатии на число возвращать оригинальный масштаб.

Дополнительно
Ограничить возможности масштабирования.

[FEATURE REQUEST] Изменение поведения дефиса в поле ввода группы

Необходимость удалять дефис для пользователя является излишней.
Предложение: изменить поле ввода так, чтобы при удалении последнего символа, являющегося пятым или седьмым в поле ввода, вместе с ним удалялся бы и дефис, разделяющий код группы и её номер или номер группы и год зачисления. Либо изменить отображение поля ввода так, чтобы вместо одной строки было несколько элементов под каждую букву и цифру группы, со статичными дефисами после четвертого и шестого элементов (это решение также вводит лимит на количество введённых символов).

Пример:

  1. "ИКБО-12-3" – при удалении тройки удалится и дефис (и в поле ввода останется "ИКБО-12")
  2. "И К Б _ - _ _ - _ _" – частично пустое поле ввода из второго предложенного решения

[FEATURE REQUEST] Страница расписания

Страница расписания должна содержать в себе расписание по дням для всей недели (ПН-СБ). Обязательная информация для страницы:

  • информация о номере недели,
  • информация о дате выбранного дня,
  • элемент(ы) выбора недели,
  • элемент(ы) переключения для недели.

[FEATURE REQUEST] Информация о преподавателе

Возможно, в будущем туда можно будет добавить расписание конкретного преподавателя.
Пока что предлагаю добавить почту, хотя бы корпоративную. Чтоб можно было связаться, а не искать контакты в гугле

[FEATURE REQUEST] Автоматическое обновление расписания

Проблемы

  • Нет представления, подгружено расписание с сервера или из памяти устройства.
  • Не интуитивная реакция на нажатие на кнопку обновления расписания:
    • мигает затемненный слева текст при удачном обновлении
    • при отсутствии Интернета нет ошибки или другой реакции о загрузке

Решение

  • Обновлять расписание при входе в приложение. В случае неудачи подгрузить из памяти устройства, но пытаться загрузить и заменить старое на расписание из Интернета.
  • Убрать значок обновления расписания

Альтернативы
Изменять цвет значка обновления

  • удачная загрузка - белый, неудачная - красный
  • удачная загрузка - серый, неудачная - белый

Скрывать значок обновления в случае удачной подгрузки с Интернета

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.