Перейти к основному содержимому
Все проекты

Open source проект

FoodOrderV1

Совместное mobile-first приложение для заказа еды, где группа делит один заказ, а стоимость распределяется честно и прозрачно.

Обзор

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

Архитектура

React, TypeScript и Vite, упакованные с помощью Capacitor для Android и iOS. Firebase Authentication отвечает за идентификацию, а Cloud Firestore хранит корзины, приглашения и вклады участников; офлайн-персистентность позволяет продолжать добавлять позиции при слабом соединении и синхронизировать данные позже.

Инженерия

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

Роль
Разработал приложение целиком: архитектуру, модель данных, офлайн-поведение, двуязычный интерфейс и мобильную упаковку.
Категория
Мобильные
Стек
ReactTypeScriptViteCapacitorFirebase AuthenticationCloud FirestorePlaywrightAndroidiOS
Язык
TypeScript