DOU Проектор: «Навпростець» — додаток для пошуку найближчої вбиральні
У рубриці DOU Проектор всі бажаючі можуть презентувати свій продукт (як стартап, так і ламповий pet-проект). Якщо вам є про що розповісти — запрошуємо прийняти участь. Якщо ні — можливо, серія надихне на створення власного made in Ukraine продукту. Питання і заявки на участь надсилайте на [email protected] .
Ідея
Всім привіт. Моє ім'я Іван Фіцик, я Android розробник в компанії Together Networks. Хочу вам розказати про свій проект, який приречений на успіх. «Навпростець» — це мобільний додаток, що вирішує одну з найсерйозніших, наймасовіших, найбуденніших проблем людства, а саме — пошук туалету. Думаю, кожен з цим стикався в незнайомому місці, кожен страждав, кожен тратив безцінні хвилини на пошук в Google, на орієнтування по вуличним знаків чи на перепитування перехожих. Досить.
Ідея проекту зародилася, коли я дізнався про конкурс міських сервісів App4Cities і прочитавши умови цього конкурсу. Обов'язково. Умовою було використання хоча б одного набору даних з сайту організаторів . Серед даних були освітні заклади, паркування тощо. Мене найбільше зацікавили набори з громадськими вбиральнями, їх я і вибрав як основу нового проекту.
Звичайно, ідея не нова і в інтернеті є маса схожих ресурсах. Проблема в їх зручності і наявності мобільного додатка для навігації. На play.google.com є кілька схожих додатків, альо смороду погано підтримуються і не мають високий рейтинг.
Реалізація
Конкурс складається з кількох етапів. Першим етапом було голосування за ідею. Журі визначило мою ідею як варту уваги, і я потрапивши в двадцядку півфіналістів. Наступним був хакатон, після якого учасники мали презентувати прототипи своїх сервісів. До хакатону я створив базовий проект, в якості архітектурного підходу вибрав MVP, для мережевого кулі — Retrofit2 + rxJava, карти Google Maps, маршрути — Google Directions API.
Перша проблема, з якою я стикнувся, — відсутність координат в наборі даних, була тільки текстова адреси. Для вирішення її я використав Google Places API, якому ми годуємо адресою, а він повертає координати. Метод дуже залежить від формату адреси і буває, що Google не може її розпізнати. На практиці, в наборах даних таких адресу не більше 5%.
Спочатку я планував використовувати дані тільки з сайту організаторів , тому що вважав, що ці дані будуть завжди наповнюватись, і поточний набір не є кінцевим. Проте, під час хакатону мені задали доречне питання: «Як ти будеш наповнювати базу, адже немає гарантії, що сервіс з даними буде завжди доступним?» Помізкувавши, я додав цю кнопку:
Тобто, кожен бажаючий може додати туалет до глобальної бази. Для такої задачі ідеально підходить Firebase Realtime Database, що дозволяє користуватись віддаленою базою даних без власного бекенду. Для того, щоб зменшити кількість неправдивої інформації, для додавання нового туалету треба авторизуватись через Фейсбук за допомогою Firebase Authorization. Також, була введена система страйків. Якщо користувач помітив відверто неправдиву інформацію в записі про туалет, він може поскаржитись і, набравши певну кількість страйків, туалет знищується з бази. Це забезпечить максимально правдиву і актуальну інформацію.
Для показу маршруту використовую Google Maps додаток, встановлений на телефоні користувача, адже краще за Google я навряд чи зроблю, і не варто придумувати велосипеди. Проте, якщо в користувача з якоїсь причини немає карт на телефоні, я реалізував карту з маршрутом в додатку.
Результати
На даний момент розроблено прототип з базовими функціями і додаток викладено на Google Play . Весь код проекту відкритий і доступний на Github . Щоб його запустити, потрібно ввести свої дані для Google APIs.
Подальші плани: робота над стабільністю, доступністю для людей з обмеженими можливостями і наповнення бази туалетами обласних центрів України.
P. S. На danimist.org.ua буде фінальне голосування 21 листопада. Якщо ви хочете підтримати проект, можете проголосувати тут .
Опубліковано: 15/11/16 @ 11:00
Розділ Різне
Рекомендуємо:
Кейс: Просування сайту по оренді вечірніх та весільних суконь
Вчитель інформатики Максим Довгих — про внутрішню кухню шкільного ІТ-освіти
Information Security дайджест #3: під знаком DDoS, переполох SurkovLeaks, ексклюзив від хактивістів RUH8
Блог-шоу – випуск 54
Поради для стартаперів від татка