Add comprehensive documentation with i18n support (EN/BG)

- Add docs/ folder with English (en/) and Bulgarian (bg/) documentation
- Create index.md with language switching and links
- English docs: installation, quickstart, architecture, baraql, storage,
  schema, lsm, btree, vector, graph, fts, columnar, transactions,
  distributed, protocol, udf, api-binary, api-http, api-websocket
- Bulgarian docs: installation, quickstart, architecture, baraql,
  schema, lsm, btree, vector, graph, fts, transactions, distributed
- Update README license to BSD 3-Clause
- Add LICENSE file with BSD 3-Clause text
This commit is contained in:
2026-05-06 16:51:14 +03:00
parent f9f77b3a18
commit e1bae0c7a0
34 changed files with 2370 additions and 1 deletions
+113
View File
@@ -0,0 +1,113 @@
# BaraDB - Installation Guide
## Requirements
- **Nim Compiler** >= 2.0.0
- **Operating System**: Linux, macOS, Windows
## Installing Nim
### Linux/macOS
```bash
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
```
Or via package manager:
```bash
# Ubuntu/Debian
apt-get install nim
# macOS
brew install nim
```
### Windows
Download the installer from [nim-lang.org](https://nim-lang.org/install.html) or use winget:
```powershell
winget install nim
```
## Building BaraDB
### Clone the Repository
```bash
git clone https://github.com/katehonz/barabaDB.git
cd barabaDB
```
### Build the Project
```bash
# Debug build
nim c -o:build/baradadb src/baradadb.nim
# Release build (optimized)
nim c -d:release -o:build/baradadb src/baradadb.nim
```
### Run Tests
```bash
nim c --path:src -r tests/test_all.nim
```
### Run Benchmarks
```bash
nim c -d:release -r benchmarks/bench_all.nim
```
## Installation Options
### Pre-built Binary
Download the latest release from the [GitHub Releases](https://github.com/katehonz/barabaDB/releases) page.
### Docker
```bash
docker pull barabadb/barabadb
docker run -it barabadb/barabadb
```
### Embedded Usage
Add to your `.nimble` file:
```nim
requires "barabadb >= 1.0.0"
```
Then import in your code:
```nim
import barabadb
var db = newLSMTree("./data")
db.put("key1", cast[seq[byte]]("value1"))
db.close()
```
## Verifying Installation
```bash
./build/baradadb --version
```
Expected output:
```
BaraDB v1.0.0
multimodal database engine
```
## Next Steps
- [Quick Start Guide](en/quickstart.md)
- [Architecture Overview](en/architecture.md)
- [BaraQL Query Language](en/baraql.md)