Aster Ridge
Search, filter, sort, and page through 205 routes in English or Russian, inspect a day-by-day itinerary, and send an enquiry.
- Astro
- Vue
- TypeScript
- Elysia
Design problem
A 205-route catalog needs more than translated navigation. Search, filters, sorting, pagination, route facts, and errors must stay aligned while some source descriptions are available only in Russian.
Main user flow
-
Start with a search
Choose the interface language and use the opening search to enter the complete route catalog.
-
Search the complete catalog
Query, filter, sort, and page through the same 205 routes in English or Russian.
-
Read the route in depth
Move from the route image into facts, day-by-day stages, and included or excluded conditions.
-
Check the enquiry
Enter contact details and correct errors beside the affected fields. The enquiry check stores and sends no personal data.
Search across 205 routes
The filtered catalog, Kamchatka itinerary, and enquiry confirmation use the same route data without storing personal details.
Twenty-four matching routes
The open filter panel and result count make the narrowed catalog state explicit.
A route in context
The English interface keeps the Russian source itinerary visibly identified while exposing the enquiry form.
Validation confirmed
The result states that the enquiry was checked and that no personal data was stored or sent.
Key decisions
-
Keep one route collection
The catalog and route pages use one set of 205 records, so filtering never switches to a reduced or separate collection.
-
Keep search state consistent
Language, query, filters, sorting, pagination, and errors use the same request rules in the page and catalog service.
Critical states
-
One catalog in both views
English and Russian navigation, filters, query state, and service responses expose the same 205 routes rather than separate or partial catalogs.
-
Source language stays explicit
When a route description remains in Russian, the English view identifies that language instead of presenting it as translated copy.