Saleor Store
우리 컬렉션을 쇼핑하세요
르완다에서 차량을 사고, 빌리거나 팔고, 주행거리·배터리·가격·상태를 비교해 키갈리에서 시승 예약
Buy, rent, or sell a vehicle in Rwanda. Compare range, battery, price, and condition across verified dealers and private owners, then book a test drive in Kigali.
커머스TypeScript · CSSGitHub @voltarisrw-prog온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Voltaris Mobility — Next.js marketplace frontend
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Rwanda-focused electric vehicle marketplace. Next.js 16 (App Router), TypeScript
strict, Tailwind. 41 routes covering the public marketplace, seller onboarding,
authentication, checkout, and the internal admin surface.README 전문 보기 ↗Rwanda-focused electric vehicle marketplace. Next.js 16 (App Router), TypeScript strict, Tailwind. 41 routes covering the public marketplace, seller onboarding, authentication, checkout, and the internal admin surface.
cp .env.example .env.local # fill in NEXT_PUBLIC_API_BASE_URL
npm install
npm run dev
| Command | What it does |
|---|---|
npm run dev | Development server |
npm run build | Production build |
npm run typecheck | tsc --noEmit, strict + noUncheckedIndexedAccess |
npm run lint | ESLint |
npm test | Vitest — 33 unit tests |
npm run e2e | Playwright, desktop and mobile viewports |
Every endpoint is declared as a typed contract in src/lib/api/ with a
BACKEND DEPENDENCY comment naming the routes. Nothing is mocked or stubbed with
sample data — pages that cannot reach the API render their real error and empty
states, which is why the build prerenders 30 pages against a dead backend without
failing. When the API arrives, only src/lib/api/ should need touching.
src/types/api.ts documents the single assumption made about the response envelope:
the error shape is fixed by the brief, the success shape is assumed to be
{ success: true, data: T }. If it differs, change request() in client.ts only.
Public — homepage, marketplace with URL-driven filters, vehicle detail, enquiry, test drive request and public status tracking, comparison, seller listing flow, dealer directory and profiles, brand directory and profiles, five curated SEO landing pages, editorial index and articles, charging directory.
Account — profile, saved vehicles, saved searches, enquiries, test drives, orders, notifications.
Auth — register, sign in with an MFA branch, sign out, forgot and reset password, email verification.
Checkout — order creation, provider-hosted payment, and a status view that reads reconciled state from the backend.
Admin — dashboard, listing review queue with publish/reject, leads, audit log.
ARCHITECTURE.md — layering, state, caching, backend dependencies, security postureSEO.md — indexation policy, metadata system, structured dataDEVELOPMENT.md — where things go, conventionsENVIRONMENT.md — every variable and why it is or is not publicANALYTICS.md — the event contract and what never leaves the browserDEPLOYMENT.md — pipeline, environments, pre-launch checklistDesign and build: Patrice. The credit renders in the footer and is configured in
src/content/home.ts under credits — add a url to make the name a link, or extend
people to cover more than one contributor.