Skip to content

DominikDary/test-track

Β 
Β 

Repository files navigation

Test Track - Interactive Demo Platform

A comprehensive interactive demo platform featuring advanced UI components, 3D simulations, and games. Built with modern web technologies to showcase cutting-edge frontend development techniques and provide engaging user experiences.

πŸš€ Features

  • 3D Chess (Raumschach): Full 3D chess game with 5Γ—5Γ—5 board, keyboard navigation, and immersive gameplay
  • Interactive UI Components: Buttons, forms, modals, dropdowns, and more
  • Mission Control: Retro-styled control panels with working switches and indicators
  • Vehicle Simulator: 3D physics-based vehicle simulation with joystick controls
  • File Upload/Download: Test file handling scenarios
  • Dynamic Content: Elements that change state for testing dynamic interactions
  • Multi-window Support: Test scenarios involving multiple browser windows
  • Responsive Design: Mobile and desktop layouts for cross-device testing

πŸ›  Technology Stack

  • Frontend: React 18 + TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS + shadcn/ui components
  • 3D Graphics: Three.js + React Three Fiber
  • Routing: React Router DOM
  • State Management: React Query + React Hooks
  • Icons: Lucide React

πŸ“¦ Local Development Setup

Prerequisites

  • Node.js 18+ (recommended: use nvm)
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone https://github.com/your-username/test-track.git
    cd test-track
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Open in browser

    • Navigate to http://localhost:5173
    • The app will auto-reload on file changes

Available Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run preview      # Preview production build
npm run lint         # Run ESLint

πŸ“ Project Structure

src/
β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ ui/             # shadcn/ui base components
β”‚   β”œβ”€β”€ chess/          # 3D chess game components
β”‚   β”œβ”€β”€ mission-control/ # Mission control components
β”‚   └── simulator/      # Vehicle simulator components
β”œβ”€β”€ pages/              # Page components (routes)
β”œβ”€β”€ hooks/              # Custom React hooks
β”œβ”€β”€ lib/                # Utility functions
└── assets/             # Static assets (images, etc.)

πŸ§ͺ Testing Scenarios

This demo site provides various scenarios for testing automation:

Basic UI Testing

  • Form submissions and validation
  • Button interactions and state changes
  • Modal dialogs and overlays
  • Dropdown menus and selections

Advanced Interactions

  • Drag and drop functionality
  • File upload/download operations
  • Multi-step workflows
  • Dynamic content updates

Responsive Testing

  • Mobile viewport interactions
  • Touch gestures (joystick controls)
  • Orientation changes
  • Cross-device compatibility

🀝 Contributing

We welcome contributions! Here's how to get started:

Development Workflow

  1. Fork the repository

    • Click the "Fork" button on GitHub
    • Clone your fork locally
  2. Create a feature branch

    git checkout -b feature/your-feature-name
  3. Make your changes

    • Follow the existing code style
    • Add/update tests if applicable
    • Ensure the app builds without errors
  4. Test your changes

    npm run build    # Ensure production build works
    npm run lint     # Check code style
  5. Commit and push

    git add .
    git commit -m "feat: add your feature description"
    git push origin feature/your-feature-name
  6. Create a Pull Request

    • Open a PR from your fork to the main repository
    • Provide a clear description of your changes
    • Link any related issues

Code Style Guidelines

  • Use TypeScript for all new code
  • Follow React best practices and hooks patterns
  • Use Tailwind CSS classes instead of custom CSS
  • Keep components small and focused
  • Add proper TypeScript types for all props and functions

Commit Message Convention

We use conventional commits:

  • feat: for new features
  • fix: for bug fixes
  • docs: for documentation changes
  • style: for formatting changes
  • refactor: for code refactoring
  • test: for adding tests

πŸ“„ License

This project is open source and available under the MIT License.

πŸ”— Links

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 98.6%
  • Other 1.4%