Выпускники семестрового курса «Разработка приложений на Android», Технопарк Mail.ru
В предыдущей публикации мы рассказали о нескольких дипломных проектах семестрового курса «Разработка на iOS» Технопарка (МГТУ им. Баумана). А в этот раз расскажем о двух самых интересных проектах слушателей семестрового курса «Разработка на Android»:
- Приложение для абитуриентов МГТУ им. Баумана.
- И приложение Vegan Delivery для доставки еды.
Напомним, что это был экспериментальный семестр, в котором все занятия проходили онлайн. При этом студенты, поступающие на курс, начинают изучать Android-разработку с нуля.
Приложение для абитуриентов МГТУ им. Баумана
Как подсказывает Кэп, целевая аудитория приложения — это выпускники школ, которые собираются поступать в МГТУ. К примеру, в 2019 году документы на поступление подали 13 тысяч человек.
Однако у абитуриентов МГТУ им. Н.Э. Баумана нет удобного сервиса, предоставляющего всю необходимую информацию для поступления. Ребята постарались создать приложение, которое решает эту задачу.
Приложение на главной странице отображает текущие проходные баллы на выбранные направления обучения. Без него абитуриентам пришлось бы открыть сайт, найти в списке свои направления (их может быть три в разных уголках сайта) и постоянно обновлять сайт для получения новой информации.
Кроме того, на сайте сложно найти учебный план для выбранного направления. Немногие абитуриенты изучают учебные планы перед поступлением, а ведь несоответствие плана интересам абитуриента — одна из главных причин дальнейшего разочарования в учёбе.
Вся информация о направлениях и кафедрах собрана в одном из разделов «Каталога» в приложении. И наконец, на главной странице расписаны подробные шаги по процессу поступления, которые можно отслеживать во время приемной кампании.
Для приложения выбрана архитектура MVVM, поэтому для каждого раздела отведён класс для работы с View, а также ViewModel.
Для паттерна «репозиторий» используется несколько классов в зависимости от задачи: DbRepository
для работы с БД и набор классов для парсинга конкретных разделов сайта МГТУ (CurrentScoresParsing
, NewsParsing
и т. д.).
Использованные технологии:
- Room — работа с базой данных.
- Jsoup — парсинг данных с сайтов.
- Picasso — загрузка изображений из сети.
- MPAndroidChart — построение графиков.
- Firebase — отправка пуш-уведомлений.
- Android Navigation Component — навигация в приложении и создание single activity application.
В будущем планируется:
- Отображать проходной балл отдельно по каждой кафедре.
- Завершить раздел «Факультеты и кафедры».
- Доработать просмотр PDF-файлов.
- Отслеживать место абитуриента в рейтинге.
- Доработать шаги поступления с учетом особенностей текущего года.
Команда проекта: Дмитрий Пудовкин, Алексей Зотов, Николай Лучков.
Видео с защитой проекта.
Приложение Vegan Delivery для доставки еды
Сегодня уже сложилась заметная аудитория людей, которые придерживаются различных вегетарианских и веганских диет. Но мест, где можно легко купить разнообразные подходящие блюда, не так много. Одно из них — сервис доставки Vegan Delivery. Однако его сайт неудобен и малоинформативен:
Ребята захотели с помощью своего приложения помочь компаниям и кафе, специализирующимся на веганской и вегетарианской еде, «наладить контакт» с клиентами. То есть приложение не собирается конкурировать с лидерами рынка доставки еды в целом, а призвано занять нишу доставки еды для тех, кто придерживается растительной диеты или имеет пищевые аллергии.
В приложении реализован удобный просмотр списка веганских и вегетарианских кафе, их меню, можно добавить блюда в корзину и оформить заказ на доставку. Стоимость заказа рассчитывается автоматически (поблизости от адреса доставки, с учётом пересадок на общественном транспорте).
Авторы старались придерживаться «Чистой архитектуры» и применяли паттерн «Репозиторий». При создании пользовательского интерфейса использовали паттерн MVVM (отказались от DI c Dagger2 и MVP).
- SignupActivity — экран «регистрация».
- AuthActivity — экран «авторизация».
- CafeListActivity — экран «список кафе».
- MenuListActivity — экран «меню».
- CartActivity — экран «корзина».
- UserActivity — экран «личный кабинет».
- OrdersListActivity — экран «список заказов».
- FavListActivity — экран «любимые рестораны».
- MakeOrderActivity — экран «оформить заказ».
Использованные технологии:
- Room — для работы с БД.
- Retrofit и Moshi — для работы c сетевыми запросами.
- Places API и Maps SDK от Google — для работы с гео-объектами и картой.
- Glide — для загрузки и кэширования изображений.
Также в планах:
- Сделать более удобное задание адреса доставки.
- Реализовать функцию отзывов.
- Добавить разделы магазинов и кондитерских.
- Реализовать функцию заказа на определенную дату.
- Реализовать разбиение товаров по категориям
- Улучшить серверную часть.
- Реализовать поиск и улучшить сортировки.
Команда проекта: Дарья Ефимова, Нозим Юнусов.
Видео с защитой проекта.
В скором времени мы расскажем и о самых интересных дипломных проектах по разработке на C++ и Go, по нейросетям, фронтенд-разработке и созданию интерфейсов. Подробнее о наших образовательных проектах вы можете почитать по этой ссылке. И почаще заходите на канал Технострим, там регулярно появляются новые обучающие видео о программировании, разработке и других дисциплинах.