Open source проект
FoodOrderV1
Совместное mobile-first приложение для заказа еды, где группа делит один заказ, а стоимость распределяется честно и прозрачно.
Обзор
Один человек открывает общую корзину, приглашает остальных, и каждый добавляет свои позиции. При закрытии заказа каждый участник видит точную сумму к оплате, а стоимость доставки распределяется честно, а не оценивается на глаз. Приложение работает как веб-приложение и публикуется на Android и iOS из одной кодовой базы.
Архитектура
React, TypeScript и Vite, упакованные с помощью Capacitor для Android и iOS. Firebase Authentication отвечает за идентификацию, а Cloud Firestore хранит корзины, приглашения и вклады участников; офлайн-персистентность позволяет продолжать добавлять позиции при слабом соединении и синхронизировать данные позже.
Инженерия
Наиболее сложными были точность и справедливость: совместная работа, ограниченная ролями, индивидуальный вклад каждого участника, неизменяемые снимки заказа при закрытии, а также распределение чеков и сборов, которое должно быть точным до последней единицы. Полная поддержка арабского и английского языков, включая RTL, была частью дизайна с самого начала, а не добавлена позже, а сценарии покрыты кроссбраузерными и мобильными тестами.
- Роль
- Разработал приложение целиком: архитектуру, модель данных, офлайн-поведение, двуязычный интерфейс и мобильную упаковку.
- Категория
- Мобильные
- Стек
- ReactTypeScriptViteCapacitorFirebase AuthenticationCloud FirestorePlaywrightAndroidiOS
- Язык
- TypeScript