Warning
This project is currently under active development!
Features, APIs, and architecture are subject to change without notice.
Project is separated into two primary parts:
LetDB: The core database server and storage engine.LetDD: The public-facing database driver that serves as a secure exposure layer.
AI is used within the project but only in limited and clearly defined areas:
- Documentation & Comments: AI is used to help for documenting and to ensure comments use clear, proper English.
- Code Generation: We are NOT relying on AI to write the actual code or core logic. This is a deliberate choice to maintain code quality. We don't want to turn the codebase to unmaintainable slop.
Note
This project aggressively targets modern toolchains.
To compile from source, make sure your environment meets the following requirements:
| Requirement | Version |
|---|---|
| CMake | 4.0 or newer |
| C Compiler | C23 compatible (The latest LLVM toolchain has priority) |
| Go Compiler | 1.26.4 or newer |
-
Clone the Repository:
git clone https://github.com/mikuwithbeer/LetDX.git cd LetDX -
Configure the Build:
cmake -S . -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
-
Compile the Project(s):
cmake --build build --config Release
Upon a successful build, the compiled binaries will be located inside the
build/directory.
Note
This section is currently being expanded and refined.
Comprehensive technical documentation and architectural details are maintained inside the docs/ directory.
Check out the OVERVIEW.md file for a high-level overview of the project.
You can quickly deploy the project using pre-built images hosted on the GitHub Container Registry (GHCR).
-
Pull the Image:
docker pull ghcr.io/mikuwithbeer/letdx:main
-
Docker Compose Setup:
For production or local development, we recommend using Docker Compose to manage the database and daemon services together seamlessly.
Create a
docker-compose.ymlfile and paste the example below:services: database: image: ghcr.io/mikuwithbeer/letdx:main entrypoint: - /app/LetDB restart: unless-stopped volumes: - transactions:/app/data daemon: image: ghcr.io/mikuwithbeer/letdx:main entrypoint: - /app/LetDD command: [ '-serve', '0.0.0.0:5543', '-connect', 'database:55543' ] ports: - '5543:5543' depends_on: - database restart: unless-stopped volumes: transactions:
-
Launch the Services:
docker compose up -d
To verify that both services are running smoothly, you can check the container status using
docker compose ps.
Important
The provided docker-compose.yml serves as a baseline configuration.
Depending on your specific use case, you might need to modify the given file (e.g., changing port mappings, updating volume paths, or configuring environment variables).
We use a dual-licensing model:
| Component | License |
|---|---|
| LetDB | BSD 3-Clause License1 |
| LetDD | European Union Public License (EUPL) 1.22 |