Get in touch
Online store · Medusa + Next.js · 2026

Avtoera — a used US car parts store rebuilt on Medusa and Next.js

We rewrote a car dismantler store from WooCommerce to Medusa and Next.js: lookup by car, OEM number search, product pages with video, a daily import of tens of thousands of items, Nova Poshta, monobank and a move with no lost orders.

Avtoera (avtoera.com) is a Kharkiv car dismantler selling original used parts from US cars: BMW, Audi, Ford, Tesla, Nissan, Jeep and almost twenty more makes. The catalogue holds tens of thousands of items and is refreshed daily from the dismantler’s inventory system. We first maintained and extended the old WooCommerce and Elementor store, then, with the client’s agreement, rewrote the site from scratch on Medusa and Next.js and moved every order, customer and old page URL across.

Technology stack

The backend and admin are Medusa v2 on PostgreSQL, the storefront is Next.js, search is Meilisearch, and everything runs in Docker behind nginx and Cloudflare. Two languages (Russian and Ukrainian) share product URLs. Delivery is Nova Poshta via its API, card payments go through monobank. Analytics run through GTM with cart and purchase events, plus number substitution for Binotel call tracking.

avtoera.com home page — parts for cars from the USA
The first screen: quick lookup by make, model, category and subcategory, a banner and a row of makes.

Finding a part by car

A dismantler’s customer isn’t looking for “an engine” but for “an engine for a BMW X5 F15”. So the first screen has a lookup by make, model and category, the header has “My garage” so the car doesn’t need re-entering, and below the banner sit all makes with the number of parts in stock. Every make, model and category combination has its own page, and it only goes into the sitemap when it actually has products.

Grid of car makes with part counts
Makes with the number of parts in stock.
Product categories on the avtoera.com home page
Categories: engine, transmission, body, lighting, suspension, electrics and more.
Used BMW parts from the USA page
A make page with model and category filters.
Engine and engine systems category
A category with subcategories and filters.

Search

Search runs on Meilisearch: suggestions with photo and price appear as you type, and it finds parts both by name and by OEM part number.

avtoera.com search — suggestions as you type
Search suggestions and the results page with filters.

The product page

With used parts, what matters is seeing the real condition. The product page shows photos and video of that exact part, the SKU, the OEM number and the number stamped on the part, the price in hryvnias and dollars, “TOP”, “Facelift”, “New”, “Video” or “Sold” stickers, and other parts for the same model. Customers buy through the cart or in one click: leave a name and phone number and a manager calls back to confirm the fit.

Product page — BMW X5 F15 engine with video
The product page: part video and photos, numbers, price in UAH and USD, cart and one-click order.
One-click order form
“One-click order” — name and phone.

Cart and checkout

Checkout is one screen: contacts, delivery (pickup from the Kharkiv warehouse, Nova Poshta branch or courier, or taxi), payment and a comment. Nova Poshta branches load from the API for the chosen city. One-click ordering also works straight from the cart.

avtoera.com cart
The cart with checkout and one-click order buttons.
avtoera.com checkout
Checkout: contacts, delivery options, payment and summary.

A catalogue updated every day

Products arrive from the inventory system’s XML feed: every day the import adds new items, updates prices and stock and removes what has sold. Photos are served from the dismantler’s server through our proxy, and if it doesn’t respond the site falls back to a stored copy. The site generates its own Google Merchant Center feeds and splits the sitemap into chunks of a thousand products.

The move off WooCommerce

We first built and tested the new site alongside the old one, matched the in-stock product counts, and then switched the domain over. Every order with its status history and every customer moved to the new site: when a returning customer registers, their earlier orders appear in their account automatically. Old page URLs redirect to the new ones, so the site kept its search rankings.

Admin and support

Managers work in the Medusa admin: an order board with statuses, a manager note the customer never sees, and a separate Manager role with no access to store settings. Two-language blog posts are written in the admin too. The server cleans up its disk automatically, and we keep supporting the site on the client’s requests.

The mobile version

On phones the quick part lookup comes first, “My garage” and search sit under the header, and a bar pinned to the bottom holds shop, search, favourites, account and categories.

Summary

We covered the full cycle: supporting the old store, the rewrite on Medusa and Next.js, lookup by car and search, a product page with video, checkout with Nova Poshta and monobank, the daily catalogue import, Merchant Center feeds, the move with orders, customers and redirects, an admin for managers and server support.

Ready to talk about your release?

We reply within 60 minutes during working hours — with a budget estimate, a rough timeline and the team line-up for your task.

Send a request