Basket — a promo website of a retail chain's delivery spring campaign on Vue 3 and TypeScript
A four-week campaign of a chain's delivery service: a participant signs up on the site and orders groceries in the app for 2500 ₽ or more — every order gives a chance in the week's draw, and an order with ready meals or a product from the partner selection gives two. Every week certificates for appliances and electronics, travel and purchases are drawn.
- Role
- Frontend developer
- Timeline
- 2025, March — April

The challenge
Start a new base for the campaigns on Vue 3 and TypeScript and build on it the promo website from a ready design: sign-up through the customer account, the steps and draw dates, a prize slider, winners on the home page and an account with chances.
What the solution includes
- A new base on Vue 3, TypeScript and Vite: typed API requests, the token kept in a cookie or localStorage by choice, handling of unauthorised access.
- The account: chances in each week's draw broken down into regular orders and orders with products from the selection.
- Winners right on the home page: filters by week and prize, a search by phone.
- Participation steps, draw dates by week, a double chances block and a slider of weekly prizes.
- Sign-up through the chain's single customer account (OAuth): app orders count automatically.
- FAQ, a feedback form, a responsive layout.



A commercial team project: I built the whole frontend from a ready design. Screenshots are from a local build with test data; the chain's logo and name and the texts of its app are hidden.