Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 89 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,98 +1,128 @@
# [Codebattles](https://codebattles.ru)
# CodeBattles 🏆

Programming competition system
[![License](https://img.shields.io/github/license/CodeBattles-nn/CodeBattles?style=flat-square)](./LICENSE)
[![GitHub commit activity](https://img.shields.io/github/commit-activity/w/codebattles-nn/codebattles?style=flat-square)](https://github.com/CodeBattles-nn/CodeBattles/commits)
[![Lines of code](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/codebattles-nn/codebattles/badge&style=flat-square)](https://github.com/CodeBattles-nn/CodeBattles)
[![GitHub language count](https://img.shields.io/github/languages/count/codebattles-nn/codebattles?style=flat-square)](https://github.com/CodeBattles-nn/CodeBattles)

[![Licence](https://img.shields.io/github/license/CodeBattles-nn/CodeBattles?style=flat)](./LICENSE)
![GitHub commit activity](https://img.shields.io/github/commit-activity/w/codebattles-nn/codebattles)
![Lines of code](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/codebattles-nn/codebattles/badge)
![GitHub language count](https://img.shields.io/github/languages/count/codebattles-nn/codebattles)
A comprehensive programming competition system designed for educational institutions, coding competitions, and skill assessment.

![Main image](images/image1.png)
![Main interface](images/image1.png)

[Documentation RU v3](https://doctorixx.gitbook.io/codebattles/ru_v3)
## 🔗 Quick Links

[Documentation EN OLD!!!!!!](https://doctorixx.gitbook.io/codebattles/v/en)

- 📚 [Documentation (RU v3)](https://docs.codebattles.ru/ru_v3)
- 🌐 [Official Website](https://codebattles.ru)
- ☕ [Support the Project](https://www.donationalerts.com/r/doctorixx)

[Buy me a cofee/Donation](https://www.donationalerts.com/r/doctorixx)
## ✨ Features

## Get started
- **Competition Management**: Create and manage programming contests with ease
- **Real-time Judging**: Automated code evaluation and scoring
- **Multi-language Support**: Support for various programming languages
- **User Management**: Role-based access control for participants and administrators
- **Live Leaderboards**: Real-time ranking and progress tracking
- **Task Generation**: Built-in UI for creating competition tasks (v3.x.x+)

> You must install Docker Compose to run:
## 🚀 Quick Start

```shell
docker compose up
```
### Prerequisites

> [!TIP]
> For run app in background mode add flag -d
> Example:
> ```bash
> docker compose up -d
> ```
- Docker
- Docker Compose

### Tested at
### Installation

| Architecture | Status |
|--------------|:--------------------------:|
| x64 | ✅ (In registry) |
| aarch64 | ✅ (Required manual build) |
| x32 | ❓ |
1. **Clone the repository**
```bash
git clone https://github.com/CodeBattles-nn/CodeBattles.git
cd CodeBattles
```

## Update
2. **Start the application**
```bash
docker compose up
```

- Pull new version of code from repository
> 💡 **Tip**: Run in background mode with the `-d` flag:
> ```bash
> docker compose up -d
> ```

```shell
git pull
```
3. **Access the application**
Open your browser and navigate to [http://localhost:2500](http://localhost:2500)

- Pull docker images
## 🔄 Updating

```shell
docker compose pull
```
To update to the latest version:

- And finally run application
```bash
# Pull the latest changes
git pull

```shell
# Restart the application
docker compose up
```

## Usage
## ⚙️ Configuration

### Default Ports

| Service | Port | Description |
|----------|-------|-------------|
| Gateway | 2500 | Main application interface |
| Database | 25565 | Database connection |

### Task Management

Starting from version 3.x.x, competition tasks can be created and managed through the web interface, making it easier for administrators to set up contests without technical knowledge.

## 🖥️ Platform Compatibility

| Architecture | Status | Notes |
|--------------|:------:|-------|
| x64 | ✅ | Requires manual build |
| aarch64 | ✅ | Requires manual build |
| x32 | ❓ | Not tested |

Go to [http://localhost:2500](http://localhost:2500)
___
## 🤝 Contributors

### Open container ports
We're grateful to these amazing contributors who have helped make CodeBattles better:

- Gateway on port 2500
- Database on port 25565
### Core Contributors
- **[Doctorixx](https://github.com/doctorixx)** - Project maintainer and lead developer
- **user3050** - Security audit and vulnerability assessment
- **[Zeevss](https://github.com/Zeevss)** - Testing, quality assurance, and feature suggestions

### Generate tasks for compeptition
### Special Thanks
- **[school30nn](https://school30nn.ru)** - For adopting the system and providing valuable server resources

At v3.x.x versions tasks can be created wia UI
## 🛠️ Development

## Main contributors
### Security Analysis
This project uses [PVS-Studio](https://pvs-studio.com/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) for static code analysis, ensuring high code quality and security standards.

Thank you for your huge contribution to the project:
## 💖 Support the Project

- **user3050** - security audit and vulnerability search
- **[Zeevss](https://github.com/Zeevss)** - testing and suggestions
If you find CodeBattles useful and want to support its development:

Thanks to [school30nn](https://school30nn.ru) for use of the system and provision of server resources
- ☕ [DonationAlerts](https://www.donationalerts.com/r/doctorixx)
- 💳 [YooMoney](https://yoomoney.ru/fundraise/13V1T7RVQBE.240713)

## Donation
If you liked the project or want to support the author, you can donate here
## 📄 License

[DonationAlerts](https://www.donationalerts.com/r/doctorixx)
This project is licensed under the terms specified in the [LICENSE](./LICENSE) file.

[Yoomoney](https://yoomoney.ru/fundraise/13V1T7RVQBE.240713)
## 🐛 Issues & Support

## SAST Tools
Found a bug or need help? Please check our [documentation](https://docs.codebattles.ru/ru_v3) first, then feel free to:

[PVS-Studio](https://pvs-studio.com/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) - static analyzer for C, C++, C#, and Java code.
- 🐛 [Report issues](https://github.com/CodeBattles-nn/CodeBattles/issues)
- 💬 [Join discussions](https://github.com/CodeBattles-nn/CodeBattles/discussions)
- 📧 Contact the maintainers

---

___
CodeBattles, 2024-2025
**CodeBattles** © 2024-2025 | Built with ❤️ for the programming community
Loading