Skip to content

Garfield1002/yacdb

Repository files navigation

YACDB logo

YACDB

Yet Another C(rappy) DataBase is a database built from scratch in C. It is heavily inspired by SQLite and would not have been possible without their documentation.

⭐ Features

Currently, YACDB remains a very simple database, but it is planned to add more features in the future.

Supported features:

  • Creation of tables

  • Insertion of rows

  • Selection of rows, with or without conditions

YACDB was built as a client/server database so you can use it remotely.

YACDB also implements a limited cache system to speed up the database access.

🛠 Building

YACDB can be built using CMake.

We have provided some utility scripts to help you with the build process.

  1. Clone the repositiory
git clone https://github.com/Garfield1002/yacdb.git
cd yacdb
  1. Setup & Build (server-side)
sh server-side/setup.sh && sh server-side/build.sh
  1. Build (client-side)
make -C client-side all

💻 Console usage

  1. Launch the server
server-side/server
  1. Launch any number of clients
client-side/client

The available commands can be found in the documentation under the Query Format section.

📄 Queries in file

It is possible to execute a series of query stored in a file :

client-side/client file_path

If the server is running, this will send the instruction to the server and execute them.

🌳 Documentation

Detailed documentation is available on the github page.

It was bult using Doxygen and Doxygen-Awesome.