Skip to main content

Technology Stack

This section provides an overview of the main technologies used in TornTicker and the reasons they were chosen.

Frontend​

πŸ–₯️ React (Vite)​

  • Why? React is a modern, component-based JavaScript library that allows for efficient UI development and state management.
  • Vite is used as the build tool because it provides: βœ… Fast development server with hot module replacement (HMR)
    βœ… Optimised production builds
    βœ… Easy configuration for modern JavaScript frameworks

🎨 React-Bootstrap​

  • Why? Provides pre-built, responsive UI components that align with Bootstrap’s styling system.
  • Benefits: βœ… Speeds up development with ready-to-use components
    βœ… Maintains a clean, consistent UI
    βœ… Easily customisable with CSS & Bootstrap utilities

Backend​

πŸš€ FastAPI​

  • Why? FastAPI is a high-performance Python framework for building APIs.
  • Key Advantages: βœ… Asynchronous support for handling multiple API requests efficiently
    βœ… Automatic OpenAPI documentation
    βœ… Fast execution speeds, comparable to Node.js

πŸ”’ Authentication​

  • Uses Torn API keys for authenticating requests securely.
  • Implements caching to reduce unnecessary API calls.

Database​

πŸ—„οΈ MongoDB​

  • Why? NoSQL database optimised for flexible, document-based storage.
  • Key Advantages: βœ… Efficient JSON-like data storage (BSON)
    βœ… Supports high scalability for large datasets
    βœ… Indexes & TTL (Time-to-Live) support to auto-expire outdated data

External Services​

☁️ Torn API​

  • Why? Provides real-time game data such as user stats.
  • Rate Limits: API calls are limited per minute, so caching is implemented to minimise requests.

☁️ Torion API​

  • Why? Additional external service for limited data access.

Development & Deployment Tools​

πŸ“‚ Git & GitHub​

  • Why? Version control with structured commit history.
  • Benefits: βœ… Branching strategy for organised development
    βœ… GitHub Actions (future CI/CD setup)

Summary​

TechnologyPurposeWhy Chosen?
React (Vite)Frontend UIFast, modular development
React-BootstrapUI StylingPrebuilt, responsive components
FastAPIBackend APIFast, async, OpenAPI support
MongoDBDatabaseNoSQL, scalable, TTL support
Torn APIExternal DataProvides live game stats
Torion APIExternal DataProvides additional game stats