coresmith.dev
← Все работы

ActExpress — агентство румынских документов

Сайт · агентство документов2 языкаодинв работеОткрыть сайт
Проблема

Семь процедур, два языка, одна форма.

ActExpress занимается румынским гражданством, паспортами, удостоверениями личности, водительскими правами, справками о несудимости, апостилем и присяжными переводами. Семь процедур, у каждой свои бумаги, и клиенты, читающие по-румынски или по-русски. Сайт должен был объяснить все семь достаточно ясно, чтобы человек узнал свой случай, и затем принять заявку с той деталью, которая решает всё дальнейшее: какая именно процедура.

Подход

Услуга — это поле, а не фраза.

Форма несёт процедуру отдельным полем, поэтому заявка приходит уже разобранной, а не свободным текстом, который сначала надо прочитать и классифицировать.

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

Архитектура

Проверка с двух сторон, доставка в два места.

React на Vite спереди, Express и MySQL сзади. Форма проверяется в браузере через react-hook-form и ещё раз на сервере через express-validator, потому что проверка в браузере — это удобство, а не гарантия.

Каждая заявка пишется в базу и уходит письмом в офис в том же запросе, а перед эндпоинтом стоит ограничение частоты, чтобы форму нельзя было превратить в почтовый релей.

ReactVitereact-i18nextreact-hook-formTailwindSassExpressMySQLNodemailerexpress-validator
Результат

Самый лёгкий из четырёх сайтов здесь.

674 КБвес страницы
1,6 скрупнейшая отрисовка
22запроса

Измерено на живом сайте: 674 КБ за 22 запроса — меньше половины веса остальных трёх, а крупнейший элемент отрисовывается за 1,6 с.

Нужно что-то похожее?

Начать проект