windy-car

byShivraj Daunde

Make a car recing app

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

Windy-Car

Introduction

The "Windy-Car" project is an exciting endeavor to develop a multiplayer car racing application. This app aims to provide users with the thrill of speed and competition, allowing them to race against each other in a dynamic and engaging environment. The project will focus on delivering an immersive racing experience with a unique theme and a variety of car types.

System Overview

The Windy-Car application will be a multiplayer car racing game designed for both casual and competitive players. It will feature a variety of cars, tracks, and racing modes to keep players engaged. The app will be available on multiple platforms, ensuring accessibility and a broad user base. The system will support real-time multiplayer races, leaderboards, and customizable vehicles.

Functional Requirements

  • As a User, I should be able to race against other players in real-time.
  • As a User, I should be able to choose from a variety of car types, including futuristic, classic, and real-world cars.
  • As a User, I should be able to customize my car's appearance and performance.
  • As a User, I should be able to view leaderboards to compare my performance with others.
  • As a User, I should be able to select different racing tracks and environments.
  • As a User, I should be able to join or create racing events and tournaments.
Page 2 of 4

User Personas

  • Casual Racer: Enjoys quick races and exploring different car types and tracks.
  • Competitive Racer: Focuses on improving skills and climbing the leaderboards.
  • Customizer: Loves to personalize cars with unique designs and performance upgrades.

Visuals Colors and Theme

  • primary: #1E3A8A (Deep Blue)
  • primary_light: #3B82F6 (Sky Blue)
  • secondary: #F97316 (Vibrant Orange)
  • accent: #10B981 (Emerald Green)
  • highlight: #F59E0B (Amber)
  • bg: #F3F4F6 (Light Gray)
  • surface: rgba(255, 255, 255, 0.8) (White)
  • text: #111827 (Dark Gray)
  • text_muted: #6B7280 (Muted Gray)
  • border: rgba(209, 213, 219, 0.2) (Light Gray)

Signature Design Concept

The Windy-Car app will feature an interactive 3D racing hub as the homepage. Users will enter a virtual garage where they can see their cars in a dynamic environment. Using @react-three/fiber and @react-three/drei, the garage will allow users to rotate and zoom into their cars, customize them in real-time, and select races. The environment will change based on the time of day, using gsap for smooth transitions and lighting effects. Hovering over different parts of the garage will reveal interactive elements like race selection, car customization, and leaderboard access.

Page 3 of 4

Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, providing a layered depth effect as users scroll through the app. Decorative elements like racing flags and speed lines will move at different speeds, creating an immersive experience. Internal pages such as settings and profiles will adopt a "static" model for clarity and ease of use.

Non-Functional Requirements

  • The app must support real-time multiplayer functionality with minimal latency.
  • It should be compatible with both iOS and Android platforms.
  • The app must handle high traffic volumes during peak times without performance degradation.
  • Ensure data security and privacy for all user information.

Tech Stack

  • Frontend: React for Web, React Native for mobile app
  • Backend: Python, FastAPI
  • Database: MySQL or MariaDB, use alembic for migrations
  • AI Models: GPT 5.4 for user-friendly responses
  • AI Tools: Litellm for LLM Routing, Langchain
  • Local Orchestration: Docker, docker-compose
  • Server-side Orchestration: Kubernetes
Page 4 of 4

Assumptions and Constraints

  • The app will require an internet connection for multiplayer features.
  • Users will need to create an account to access all features.
  • The app will be designed to support English as the primary language, with potential for localization in the future.

Glossary

  • Real-time Multiplayer: A feature allowing users to race against each other simultaneously.
  • Customization: The ability for users to modify their cars' appearance and performance.
  • Leaderboard: A ranking system displaying the top players based on performance.
  • Parallax: A scrolling technique that creates a sense of depth by moving background images slower than foreground images.
Landing design preview
Landing: View App
Login: Sign In
Signup: Create Account
Home: Browse Races
Garage: View Cars
CarSelect: Choose Car
TrackSelect: Pick Track
Lobby: Join Race
Race: Compete Live
Results: View Outcome