- About
- Built With
- Getting Started
- Usage
- Performance Optimizations
- Roadmap
- Contributing
- License
- Authors
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.
The project is built using cutting-edge technologies and libraries optimized for performance:
- Rust (nightly) - Systems programming language known for safety and performance
- Tokio - Asynchronous runtime for Rust
- Ntex - Actor framework for Rust
- PostgreSQL - Advanced open-source relational database
Before you begin, ensure you have the following installed:
- Rust (nightly version)
- PostgreSQL (13.0 or higher)
- An email service account (for notifications)
-
Install Rust nightly:
rustup default nightly
-
Clone the repository:
git clone https://github.com/Intelli-Telemetry/api.git cd api
-
Set up your PostgreSQL database.
-
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.
-
Build and run the project:
cargo run --release
Intelli Telemetry provides a comprehensive solution for F1 leagues, offering:
- Real-time race session data with microsecond precision
- Live timing and telemetry with minimal latency
- Automated championship standings
- Penalty and incident reporting system
- Detailed analytics for teams and drivers
For detailed API documentation, visit our GitBook.
Intelli Telemetry is designed for maximum performance:
- Zero-copy deserialization for incoming data streams
- Lock-free concurrent data structures for high-throughput scenarios
- Custom memory allocator (mimalloc) for improved memory management
- Aggressive inlining and SIMD optimizations where applicable
- Careful use of
unsafe
code in performance-critical paths, thoroughly tested and documented
To enable all optimizations, build with:
RUSTFLAGS="-C target-cpu=native" cargo build --release
See the open issues for a list of proposed features and known issues.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please read through our Code of Conduct before contributing.
Distributed under the MIT License. See LICENSE for more information.
- Gerard Zinn - GitHub Profile