Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

data-platform-core

Overview

The data-platform-core project is designed to provide a robust and flexible data platform that supports various database systems and offers a comprehensive set of features for managing data schemas, queries, transactions, and observability.

Project Structure

The project is organized into several packages, each serving a specific purpose:

  • packages/core: Contains the core functionalities of the data platform, including schema definitions, query compilation, transaction management, and observability features.
  • packages/adapters: Provides adapters for different database systems, allowing seamless integration with PostgreSQL, MongoDB, DynamoDB, and ClickHouse.
  • packages/cli: Implements a command-line interface for managing migrations, generating types, and seeding the database.
  • packages/orm: Offers an object-relational mapping layer for interacting with the database in a more intuitive way.

Features

  • Schema Management: Define and validate schemas for your data models.
  • Query Compilation: Compile queries into SQL or NoSQL formats with optimization capabilities.
  • Transaction Management: Handle transactions with support for isolation levels and nested transactions.
  • Caching: Implement caching strategies to improve performance.
  • Observability: Track metrics, implement distributed tracing, and manage structured logging.
  • Migration Support: Execute and manage database migrations with version control.

Getting Started

To get started with the project, clone the repository and install the dependencies:

git clone <repository-url>
cd data-platform-core
npm install

Examples

Explore the examples directory for practical implementations, including:

  • IoT Ingestion: An example of ingesting IoT data into the platform.
  • Multi-Tenant Architecture: A demonstration of how to implement a multi-tenant system.
  • Analytics Pipeline: An example of building an analytics pipeline using the data platform.

Contributing

Contributions are welcome! Please submit a pull request or open an issue for any enhancements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

Forma (Latin: "form, structure") - A TypeScript data platform that gives structure to your data layer. Native performance, SQL transparency, and multi-DB support.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages