docs: expand README and documentation for production release

- Update README.md status from 'educational proof-of-concept' to 'production-ready'
- Fix binary size: 286KB -> 3.3MB
- Update test count: 162/35 -> 262/56
- Add sections: benchmarks, Docker, clients, security, config, monitoring, backup, cross-modal queries, troubleshooting
- Expand project structure with all 49 modules and ~14,100 LOC
- Add 10 new docs: performance, deployment, configuration, clients, security, monitoring, backup, crossmodal, troubleshooting, changelog
- Expand docs/en: architecture, baraql, installation, protocol
- Update docs/bg: architecture, installation
- Update docs/index.md with new links
- Update .gitignore for __pycache__, rust/target, nim binaries
This commit is contained in:
2026-05-06 17:19:16 +03:00
parent e1bae0c7a0
commit 8993cdc6f3
20 changed files with 4162 additions and 277 deletions
+141 -29
View File
@@ -2,33 +2,85 @@
## Изисквания
- **Nim Компилатор** >= 2.0.0
- **Nim Компилатор** >= 2.2.0
- **OpenSSL** development headers (за TLS поддръжка)
- **Операционна система**: Linux, macOS, Windows
### Поддържани Платформи
| ОС | Архитектура | Статус |
|----|-------------|--------|
| Linux | x86_64 | ✅ Пълна поддръжка |
| Linux | ARM64 | ✅ Пълна поддръжка |
| macOS | x86_64 | ✅ Пълна поддръжка |
| macOS | ARM64 (Apple Silicon) | ✅ Пълна поддръжка |
| Windows | x86_64 | ✅ Поддръжка |
## Инсталиране на Nim
### Linux/macOS
### Linux
```bash
# Официален инсталатор
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install nim
# Fedora
sudo dnf install nim
# Arch Linux
sudo pacman -S nim
```
Или чрез пакетен мениджър:
### macOS
```bash
# Ubuntu/Debian
apt-get install nim
# macOS
# Homebrew
brew install nim
# MacPorts
sudo port install nim
```
### Windows
Изтеглете инсталатора от [nim-lang.org](https://nim-lang.org/install.html) или използвайте winget:
```powershell
# Winget
winget install nim
# Scoop
scoop install nim
```
### Проверка
```bash
nim --version
# Очакван резултат: Nim Compiler Version 2.2.0 или по-нова
```
## Инсталиране на OpenSSL
### Linux
```bash
# Ubuntu/Debian
sudo apt-get install libssl-dev
# Fedora
sudo dnf install openssl-devel
# Arch Linux
sudo pacman -S openssl
```
### macOS
```bash
brew install openssl
```
## Компилиране на BaraDB
@@ -40,57 +92,117 @@ git clone https://github.com/katehonz/barabaDB.git
cd barabaDB
```
### Компилиране
### Инсталиране на Зависимости
```bash
# Debug компилация
nim c -o:build/baradadb src/baradadb.nim
# Release компилация (оптимизирана)
nim c -d:release -o:build/baradadb src/baradadb.nim
nimble install -d -y
```
### Стартиране на Тестове
### Опции за Компилация
#### Debug Компилация
```bash
nim c --path:src -r tests/test_all.nim
nim c -d:ssl -o:build/baradadb src/baradadb.nim
```
### Стартиране на Бенчмаркове
#### Release Компилация (Препоръчителна)
```bash
nim c -d:release -r benchmarks/bench_all.nim
nim c -d:ssl -d:release --opt:speed -o:build/baradadb src/baradadb.nim
```
#### Използване на Nimble
```bash
nimble build_debug
nimble build_release
```
#### Минимален Размер
```bash
nim c -d:ssl -d:release --opt:size -o:build/baradadb src/baradadb.nim
strip build/baradadb
```
### Проверка на Компилацията
```bash
./build/baradadb --version
# Очакван резултат: BaraDB v0.1.0 — Multimodal Database Engine
```
## Стартиране на Тестове
```bash
# Всички тестове (262 теста, 56 сюита)
nim c -d:ssl -r tests/test_all.nim
# Бенчмаркове
nim c -d:ssl -d:release -r benchmarks/bench_all.nim
```
## Опции за Инсталация
### Системна Инсталация
```bash
nimble build_release
sudo cp build/baradadb /usr/local/bin/
sudo chmod +x /usr/local/bin/baradadb
sudo mkdir -p /var/lib/baradb
```
### Docker
```bash
docker pull barabadb/barabadb
docker run -it barabadb/barabadb
docker pull barabadb/barabadb:latest
docker run -d \
-p 5432:5432 \
-p 8080:8080 \
-p 8081:8081 \
-v baradb_data:/data \
barabadb/barabadb
```
### Docker Compose
```bash
docker-compose up -d
```
### Вградено Използване
Добавете към вашия `.nimble` файл:
```nim
requires "barabadb >= 1.0.0"
requires "barabadb >= 0.1.0"
```
След това импортнете в кода:
```nim
import barabadb
import barabadb/storage/lsm
var db = newLSMTree("./data")
db.put("key1", cast[seq[byte]]("value1"))
db.put("key", cast[seq[byte]]("value"))
let (found, val) = db.get("key")
db.close()
```
## Първо Стартиране
```bash
# Стартиране на сървъра
./build/baradadb
# Тестване на HTTP API
curl http://localhost:8080/health
# Интерактивна конзола
./build/baradadb --shell
```
## Следващи Стъпки
- [Бързо Стартиране](bg/quickstart.md)
- [Конфигурация](en/configuration.md)
- [Архитектура](bg/architecture.md)
- [BaraQL Заявки](bg/baraql.md)
- [BaraQL Заявки](bg/baraql.md)