VashSoftware / vash-esports

The best way to play competitively.
https://esports.vash.software
2 stars 0 forks source link
esports osu supabase sveltekit tournament

Vash Esports

Vash Esports is a comprehensive platform designed for hosting esports tournaments and facilitating matchmaking across multiple games. Originally focused on osu!, the platform is expanding to include popular titles such as PUBG, CS:GO, and Minecraft, providing a seamless and scalable experience for gamers and organizers alike.

Table of Contents

Features

Architecture Overview

Vash Esports employs a modern, scalable architecture to ensure high performance and reliability. The system is divided into several key components:

Architecture Diagram

Figure: High-level architecture diagram of Vash Esports.

Tech Stack

Frontend

Backend

Database

Data Engineering & Data Science

Deployment & Infrastructure

Other Tools

Setup

Prerequisites

1. Clone the Repository

git clone https://github.com/VashSoftware/vash-esports.git
cd vash-esports

2. Configure Environment Variables

Rename the .env.example file to .env and populate it with the necessary environment variables.

cp .env.example .env

Edit the .env file to include your configuration details:

# Frontend Configuration
FRONTEND_API_URL=http://localhost:3000/api

# Backend Configuration
BACKEND_PORT=4000
DATABASE_URL=postgresql://user:password@localhost:5432/vash_esports

# Supabase Configuration
SUPABASE_URL=https://your-supabase-url.supabase.co
SUPABASE_KEY=your-supabase-key

# Data Engineering Configuration
DATA_WAREHOUSE_URL=postgresql://user:password@localhost:5433/data_warehouse
ETL_SCHEDULER_URL=http://localhost:8080

# Traefik Configuration
TRAEFIK_API=true
TRAEFIK_DASHBOARD=true

3. Build and Run the Services

Ensure Docker and Docker Compose are installed. Execute the following command to build and start all services:

docker compose up -d

4. Access the Application

Note: You may need to configure your hosts file and SSL certificates for HTTPS access in a development environment.

Deployment

Vash Esports is currently deployed on a home server using Docker Compose. The deployment setup includes:

Future Deployment Plans

To enhance scalability and maintainability, future deployments will incorporate:

Data Engineering and Data Science

Integrating data engineering and data science capabilities into Vash Esports allows for comprehensive data collection, processing, and analysis. This enables data-driven decision-making and enhances the overall user experience.

1. Data Warehouse

A dedicated data warehouse serves as the central repository for all collected data, optimized for analytics and reporting.

2. ETL Processes

Extract, Transform, Load (ETL) pipelines automate the flow of data from source systems to the data warehouse.

3. Data Visualization and BI

Transform raw data into actionable insights through visualization tools and business intelligence dashboards.

4. Data Science Initiatives

Leverage machine learning and statistical analysis to enhance matchmaking algorithms, predict tournament outcomes, and personalize user experiences.

Contributing

Contributions are highly encouraged and welcomed! Whether you're fixing bugs, improving documentation, or adding new features, your input is valuable to the Vash Esports community.

Guidelines

  1. Fork the Repository

  2. Create a New Branch

    git checkout -b feature/your-feature-name
  3. Commit Your Changes

    git commit -m "Add feature: your feature description"
  4. Push to Your Fork

    git push origin feature/your-feature-name
  5. Submit a Pull Request

    • Ensure your PR description clearly outlines the changes and the reasons behind them.
    • Follow the project's coding standards and best practices.

Code of Conduct

Please adhere to the Code of Conduct to maintain a respectful and collaborative environment.

License

This project is licensed under the MIT License.

Contact

For any questions, feedback, or inquiries, please reach out via the following channels: