Задача
[Кто пользуется панелью и что в ней делает. Что было не так до тебя: медленно, неудобно, много ошибок в данных? Какие были ограничения — сроки, команда, легаси.]
Кейс 01Frontend[год — год]
Интерфейс управления поверх GraphQL-бэкенда: типобезопасные запросы, проверка ответов сервера в рантайме, полная локализация.
[Кто пользуется панелью и что в ней делает. Что было не так до тебя: медленно, неудобно, много ошибок в данных? Какие были ограничения — сроки, команда, легаси.]
[Коротко: какой подход ты выбрал и почему именно его.]
Ответы GraphQL проходят через io-ts-кодеки: если сервер прислал не то, интерфейс узнаёт об этом сразу, а не пустой ячейкой в таблице.
Все строки интерфейса живут в i18next — в компонентах нет ни одной захардкоженной фразы.
[Например: таблицы с фильтрами и пагинацией, права доступа по ролям, оптимистичные обновления в кэше Apollo.]
// упрощённый пример: проверка ответа сервера const User = t.type({ id: t.string, email: t.string, role: t.keyof({ admin: null, editor: null }), }) const { data } = useQuery(GET_USERS) const users = await tPromise.decode(t.array(User), data.users)
[Что изменилось после: скорость работы, количество ошибок, отзывы пользователей. Только реальные цифры — если их нет, опиши словами.]