Intelli-Telemetry / api

Intelli Telemetry Api
https://api.intellitelemetry.live/
GNU Affero General Public License v3.0
9 stars 1 forks source link
deadpool f123 ntex rust rust-lang telemetry telemetry-data tokio tokio-postgres

Intelli Telemetry

Table of Contents

About

Intelli Telemetry is a high-performance, real-time data collection and management system for F1 leagues. It provides comprehensive race session data, championship management, and analytics for teams, spectators, and league organizers, with a focus on maximum efficiency and minimal latency.

Built With

The project is built using cutting-edge technologies and libraries optimized for performance:

Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

Installation

  1. Install Rust nightly:

    rustup default nightly
  2. Clone the repository:

    git clone https://github.com/Intelli-Telemetry/api.git
    cd api
  3. Set up your PostgreSQL database.

  4. Create a .env file in the project root with the following content:

    HOST=0.0.0.0
    DATABASE_URL=postgres://username:password@localhost/database_name
    EMAIL_HOST=smtp.your-email-provider.com
    EMAIL_FROM=your-email@example.com
    EMAIL_NAME=Your Name
    EMAIL_PASS=your-email-password
    DISCORD_CLIENT_ID=your-discord-client-id
    DISCORD_CLIENT_SECRET=your-discord-client-secret
    DISCORD_REDIRECT_URI=http://localhost:3000/auth/discord/callback

    Replace the placeholders with your actual credentials and settings.

  5. Build and run the project:

    cargo run --release

Usage

Intelli Telemetry provides a comprehensive solution for F1 leagues, offering:

For detailed API documentation, visit our GitBook.

Performance Optimizations

Intelli Telemetry is designed for maximum performance:

To enable all optimizations, build with:

RUSTFLAGS="-C target-cpu=native" cargo build --release

Roadmap

See the open issues for a list of proposed features and known issues.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please read through our Code of Conduct before contributing.

License

Distributed under the MIT License. See LICENSE for more information.

Authors