Welcome to Get5React, a React-based implementation of the popular Get5 Panel!
Get5React is created out of a passion for LAN parties and Open Source Software. While it's still in its early stages, I'm excited to share its progress with you.
This project is designed to work seamlessly with the popular CS2 plugin MatchZy. However, any plugin compatible with the original Get5 panel should, in theory, also work.
Caution
This project is under active development and may undergo significant changes. Use it as inspiration and provide feedback rather than relying on it heavily at this stage.
- Steam Authentication: Secure login using Steam credentials.
- Docker Deployment: Simplify the deployment process.
- Player Registration: Allow players to register for matches.
- Team Management: Create and manage teams.
- Match Tracking: Track ongoing (real-time) and past matches.
- Map Management: Manage maps available for matches.
- Player Rating: Analyze player performance and generate ELO ratings.
- Demo Parsing: Review match performance per player.
- Demo Player: Watch match replays directly in your browser.
- More features coming soon!
If you're familiar with Get5, these features should be familiar.
Important
Due to how Next.js handles environment variables in static files during the build process, adding this project to a docker-compose stack is currently not possible. Additionally, database schema migrations are required, complicating this method.
- PostgreSQL Database: Ensure you have a PostgreSQL database set up.
- Bun (or any JavaScript runtime): Required for running database migrations, the development server and managing dependencies.
-
Clone the Repository:
git clone https://github.com/yourusername/Get5React.git get5react cd get5react
-
Configure Environment Variables:
Copy the example environment file:
cp .env.example .env
Edit the copied
.env
file and set the required variables:# Steam API Key - Obtain from https://steamcommunity.com/dev/apikey STEAM_SECRET="long_string_here" # Your domain NEXTAUTH_URL="http://localhost:3000" # Generated secret - Please generate a new secret NEXTAUTH_SECRET="uHUIArmOK0Za6pY9KtIuhsiu0UYGJPEc" # Database URL - Update username, password, localhost, and db_name DATABASE_URL="postgresql://username:password@localhost:5432/db_name?schema=public"
-
Run Database Migrations:
Set up your database schema using Prisma:
bunx prisma migrate deploy # OR npx prisma migrate deploy
Your database is now set up with the correct tables and relational keys.
The easiest way to deploy Get5React is using Docker.
-
Build the Docker Image:
docker build --tag=get5react .
-
Start the Docker Container:
docker run --name=get5react -p 3000:3000 -d get5react
You can now access Get5React at
http://localhost:3000
.
-
Install Dependencies:
Ensure you have a JavaScript runtime installed (e.g., bun):
bun install
-
Start the Development Server:
bun dev
You can now access Get5React at
http://localhost:3000
.
- Split Code into Multiple Packages: Enhance readability and project structure for easier future development.
(Coming soon!)
Contributions are highly welcome! Whether you're interested in coding, testing, or providing feedback, your help is greatly appreciated. Please fork the repository and submit pull requests.
Share Get5React with your friends! The more people who know about it, the more feedback and contributions we can gather to improve it further.