Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A high-performance, append-only financial transaction database.

License

Notifications You must be signed in to change notification settings

nowayhecodes/pennydb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PennyDB

A high-performance, immutable financial transaction database built with Rust.

Features

  • Immutable Transactions: All records are append-only, ensuring data integrity
  • High Performance: Built with Rust for optimal performance and memory safety
  • Fault Tolerance: Resilient to failures with automatic recovery
  • Scalable: Container-friendly architecture supporting horizontal scaling
  • API-First: Low-latency HTTP API with high throughput
  • TypeScript Client: First-class TypeScript support via official client library
  • Security Focused: Implements financial industry security best practices

Project Structure

pennydb/
├── src/
│   ├── core/        # Core database engine
│   ├── api/         # HTTP API server
│   ├── storage/     # Storage and persistence layer
│   └── replication/ # Distributed replication system
├── clients/
│   └── typescript/  # Official TypeScript client
├── docs/           # Documentation
├── tests/
│   ├── integration/ # Integration tests
│   └── unit/       # Unit tests
└── examples/       # Usage examples

Getting Started

Prerequisites

  • Rust 1.70 or higher
  • Node.js 18+ (for TypeScript client)
  • Docker (optional, for containerized deployment)

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/pennydb.git
cd pennydb
  1. Build the project:
cargo build --release
  1. Run tests:
cargo test

Usage

Starting the Database Server

cargo run --release

Using the TypeScript Client

import { PennyDB } from '@pennydb/client';

const db = new PennyDB('penny://localhost:3000');

// Insert a transaction
await db.transactions.insert({
  amount: 100.50,
  currency: 'USD',
  description: 'Payment for services',
  timestamp: new Date()
});

API Documentation

API documentation is available at /docs when running the server.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Security

For security concerns, please email [email protected]

About

A high-performance, append-only financial transaction database.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors