Skip to content

Ketan-Verma21/Type_Racer

Repository files navigation

Type Racer

Welcome to Type Racer! This project is a thrilling multiplayer typing game where players compete in real-time to achieve the highest Words Per Minute (WPM). Built with Flutter for the front-end and Node.js with Socket.IO for the backend, Type Racer offers an engaging and competitive typing experience.

Features

  • Real-time Multiplayer: Compete against other players in real-time.
  • Words Per Minute (WPM) Calculation: Get accurate WPM scores at the end of each game.
  • Live Leaderboard: See your ranking in real-time as you type.
  • Responsive Design: Enjoy a seamless experience across different devices.

Screenshots

Home Create Room Screen Game Start Game Code Copied Starting of Game End of Game

Getting Started

To get a copy of the project up and running on your local machine, follow these simple steps.

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/Ketan-Verma21/typeracer.git
    cd type_racer
  2. Backend Setup:

    • Navigate to the backend directory:
      cd server
    • Install the dependencies:
      npm install
    • Start the server:
      node server.js
  3. Frontend Setup:

    • Navigate to the Flutter project directory:
      cd type_racer
    • Install the dependencies:
      flutter pub get
    • Run the app:
      flutter run

Folder Structure

typeracer/
|- backend
|  |- api
|  |- models
|  |- node_modules
|  |- package.json
|  |- index.js
|- frontend
|  |- android
|  |- build
|  |- ios
|  |- lib
|  |- test
|  |- pubspec.yaml
  • backend: Contains the Node.js server and Socket.IO implementation.
  • frontend: Contains the Flutter project with all the screens and UI components.

Contributing

We welcome contributions to enhance the Type Racer app! To contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature/your-feature-name).
  5. Create a new Pull Request.

Contact

If you have any questions or feedback, feel free to reach out: