Skip to content

liakh83/async-race

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

🏎️ Async Race — SPA for Car Racing Management

Single Page Application for managing a collection of radio-controlled cars:
start and stop their engines, run races, and track results.
Implements the requirements of the Async Race task.

⚠️ Important:
The UI (frontend) and server mock are stored in separate repositories.
To make the app work locally, you must clone and run the server mock.
See instructions below 👇


📘 Table of Contents


🧩 About the Project

The app provides:

  • Two main views: Garage and Winners, each with pagination and persistent state.
  • CRUD operations for cars (name, color) and bulk generation of 100 random cars.
  • Engine start/stop controls and car movement animations.
  • A Race button to start all cars simultaneously and determine the winner.
  • Winners table showing number of wins and best time, with sorting and pagination.
  • Fully responsive design (works on screens ≥500 px).

⚙️ Technologies

  • TypeScript (strict typing, no any, no assertions)
  • Vanilla JS + TS — no frameworks like React, Angular, Vue, etc.
  • Vite — bundler used for local development
  • Bootstrap CSS — for styling only
  • Modular architecture separating API, UI, and state management

🧰 Prerequisites

  • Node.js ≥ 16
  • npm
  • Server Mock (must be cloned and running, see below)

🚀 Quick Start (Local Setup)

1️⃣ Clone the frontend repo

git clone https://github.com/liakh83/async-race
cd async-race

2️⃣ Install dependencies

npm install

3️⃣ Clone the server mock (required)

git clone https://github.com/mikhama/async-race-api
Start the server mock

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors