DBGO

A lightweight, feature-rich database management system built with Go

Features

Core Database Features

  • Create and manage tables
  • Insert, update, delete, and query data
  • Data type validation
  • Transaction history
  • Persistent storage

Interfaces

  • Command Line Interface (CLI)
  • REST API server
  • Node.js client library

Key Features

  • Thread-safe operations
  • ACID-like properties
  • Transaction rollback
  • Cross-platform support
  • REST API with CORS

Downloads

🪟

Windows

5,58MBx64
Download dbgo.exe
🐧

Linux

7,94 MBx64
Download dbgo

Usage Examples

Simple and intuitive APIs for both CLI and Node.js environments

npm version

CLI Interface

bash
# Create a new table
$ dbgo create-table users

# Insert data into the table
$ dbgo insert users name="John" age=30

# Update data in the table
$ dbgo update users "name='John'" age=31

# Query data with conditions
$ dbgo query users "age > 25"

# Show table schema
$ dbgo describe users

Node.js Client

javascript
# Install from npm
$ npm install godb-hamroun@latest

# Import and use
const { DBClient } = require('godb-hamroun');

async function main() {
    const db = new DBClient();

    try {
        // Create table with schema
        await db.createTable('users', [
            { name: 'id', dataType: 'int' },
            { name: 'name', dataType: 'string' },
            { name: 'age', dataType: 'int' },
            { name: 'active', dataType: 'bool' }
        ]);

        // Insert data
        await db.insert('users', {
            id: 1,
            name: 'John Doe',
            age: 30,
            active: true
        });

        // Update data
        await db.update('users', 
            { id: 1 },
            { age: 31, active: false }
        );

        // Query data
        const results = await db.select('users', { 
            id: 1 
        });
        console.log('Results:', results);

    } catch (error) {
        console.error('Error:', error.message);
    }
}

main().catch(console.error);

Perfect For

🎓

Learning database concepts

Perfect for students and developers learning database fundamentals

💾

Small-scale data storage

Ideal for prototypes and small applications

🛠️

Prototyping applications

Quick setup for MVP and proof of concept projects

📚

Educational purposes

Great for teaching and learning database operations

🔌

API backend practice

Excellent for practicing REST API development

About the Author

Hi, I'm Mohamed Ali Hamroun, a software engineer passionate about building efficient database solutions and developer tools.