Расширению FuelBuddy в ОАЭ нужно было собственное приложение для франшизы — у рынка Дубая были другие требования к регулированию, безопасности и рабочим процессам, чем у существующих платформ, настолько, что повторно использовать старое было плохим вариантом. Я построил приложение для франшизы в Дубае с нуля — и фронтенд, и CRUD-API под ним.
Что я сделал
- Новый фронтенд с нуля: построил систему компонентов заново, что позволило приложению быть отзывчивее и аккуратнее собранным, чем более старые версии, которые оно заменило.
- Мои собственные CRUD-API на Hasura: построил бэкенд-API данных, на которых работает приложение, используя движок Hasura GraphQL поверх базы данных для того, чтобы отдать нужные мне CRUD-операции, — так что я мог спроектировать слой данных целиком, а не дожидаться отдельных бэкенд-эндпоинтов.
- Слой данных на TanStack Query: использовал TanStack React Query на фронтенде для работы с этими API — кэширование, фоновое обновление и оптимистичные апдейты — так что интерфейс оставался быстрым и согласованным без большого объёма ручной работы с состоянием.
- Аутентификация и безопасность: переработал аутентификацию, обработку токенов и валидацию полезной нагрузки API, чтобы соответствовать требованиям соответствия региона.
Почему это было важно
Результат отвечал более строгим требованиям рынка Дубая и задал более чистый внутренний стандарт того, как строятся такие приложения. Переработанный слой данных к тому же сократил лишние сетевые вызовы, что держало работу быстрой для франчайзинговых партнёров.