All Projects → twinlogix → typetta

twinlogix / typetta

Licence: Apache-2.0 license
Node.js ORM written in TypeScript for type lovers.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to typetta

Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite & MongoDB (Preview)
Stars: ✭ 18,168 (+41190.91%)
Mutual labels:  mariadb, mssql, sqlserver, mongodb-orm
Heidisql
A lightweight client for managing MariaDB, MySQL, SQL Server, PostgreSQL and SQLite, written in Delphi
Stars: ✭ 2,864 (+6409.09%)
Mutual labels:  mariadb, mssql
nocodb
🔥 🔥 🔥 Open Source Airtable Alternative - turns any MySQL, Postgres, SQLite into a Spreadsheet with REST APIs.
Stars: ✭ 28,894 (+65568.18%)
Mutual labels:  mariadb, sqlserver
json-sql-builder2
Level Up Your SQL-Queries
Stars: ✭ 59 (+34.09%)
Mutual labels:  mariadb, mssql
database connections
⚙️Demonstration code to connect R on MacOS to various database flavors.
Stars: ✭ 18 (-59.09%)
Mutual labels:  mariadb, mssql
Qxorm
QxOrm library - C++ Qt ORM (Object Relational Mapping) and ODM (Object Document Mapper) library - Official repository
Stars: ✭ 176 (+300%)
Mutual labels:  mariadb, sqlserver
matador
Take your appclication by the horns
Stars: ✭ 59 (+34.09%)
Mutual labels:  mariadb, mssql
Yuniql
Free and open source schema versioning and database migration made natively with .NET Core.
Stars: ✭ 156 (+254.55%)
Mutual labels:  mariadb, sqlserver
laravel-adminer
Adminer database management tool for your Laravel application.
Stars: ✭ 45 (+2.27%)
Mutual labels:  mariadb, mssql
DBTestCompare
Application to compare results of two SQL queries
Stars: ✭ 15 (-65.91%)
Mutual labels:  mariadb, sqlserver
Connectors
Connectors simplify connecting to standalone and CloudFoundry services
Stars: ✭ 28 (-36.36%)
Mutual labels:  mssql, sqlserver
sqlserver
GORM sqlserver driver
Stars: ✭ 33 (-25%)
Mutual labels:  mssql, sqlserver
Linq2db
Linq to database provider.
Stars: ✭ 2,211 (+4925%)
Mutual labels:  mariadb, mssql
Sharding Method
分表分库的新思路——服务层Sharding框架,全SQL、全数据库兼容,ACID特性与原生数据库一致,能实现RR级别读写分离,无SQL解析性能更高
Stars: ✭ 188 (+327.27%)
Mutual labels:  mariadb, sqlserver
Rom Sql
SQL support for rom-rb
Stars: ✭ 169 (+284.09%)
Mutual labels:  mariadb, mssql
Liquibase
Main Liquibase Source
Stars: ✭ 2,910 (+6513.64%)
Mutual labels:  mariadb, sqlserver
db-doc
📝一款生成在线/离线数据库文档的小工具
Stars: ✭ 98 (+122.73%)
Mutual labels:  mariadb, sqlserver
Gosora
Gosora is an ultra-fast and secure forum software written in Go that balances usability with functionality.
Stars: ✭ 131 (+197.73%)
Mutual labels:  mariadb, sqlserver
r2dbc-migrate
R2DBC database migration tool & library
Stars: ✭ 83 (+88.64%)
Mutual labels:  mariadb, sqlserver
tsql-scripts
Transact-SQL scripts and gists
Stars: ✭ 35 (-20.45%)
Mutual labels:  mssql, sqlserver



Node.js ORM written in TypeScript for type lovers.

Codacy grade .

Docs   -   Examples


Typetta is an open-source ORM written in TypeScript that aims to allow seamless access to data in a typed fashion to all main SQL databases (MySQL, PostgreSQL, Microsoft SQL Server, SQLLite3, CockroachDB, MariaDB, Oracle e Amazon Redshift) and also to the NoSQL database MongoDB.

Typetta is pluggable into any TypeScript backend (including serverless applications and microservices) but in terms of gain we totally suggest using it in all GraphQL backends, because... because we simply love GraphQL.

How do I use Typetta?

With Typetta everything revolves around the data model, the entities that describe the application domain and all underlying relationships between them. This model is described in standard GraphQL, using all basic concepts (scalars, types, enumerations, etc...) and some custom directives.

Starting from the model output of the domain analysis, Typetta provides a range of code generators for:

  • Type definitions in TypeScript language for each entity in the model.

  • Data Access Object (aka DAO) for each entity type that has a corresponding data source. Each DAO is an object that the developer can also query with advanced CRUD operations.

  • An Entity Manager where the developer can configure each data source and retrieve the reference of any DAO.

  • A completely auto-generated GraphQL Endpoint with advanced CRUD operations to access and modify data.

Main Functionalities

Below is a brief description of what makes Typetta awesome:

  • Complete support of main SQL databases and also MongoDB.
  • Multiple databases, including the ability to cross query different databases.
  • Multiple connections and connection pooling.
  • Entity relationships: 1-1, 1-n, n-m.
  • Dynamic typing and corresponding data projections.
  • Pagination.
  • Can be extended using middlewares.
  • Customised scalars and serialisation of the database.
  • Autogenerated IDs.
  • Validation rules.
  • Virtual, computed and calculated fields.
  • Aggregation queries.
  • Ability to build custom queries.
  • Define data access security policies.
  • Embedded documents supported on MongoDB as well as SQL.
  • Automated code generation.
  • Effortless integration with GraphQL backends.
  • Optional automated GraphQL Endpoint generation for CRUD operations.
  • Transactions.
  • Logging.
  • Mocking.
  • Auditing.
  • Multi-tenancy partitioning.
  • Soft-delete.

Why Typetta?

Typetta fulfills the need of having a typed ORM connected to SQL and NoSQL databases designed with productivity and flexibility in mind.

The philosophy behind Typetta components has been to ensure ease of use and optimisation of development time, adding complexity (with direct access to data source) only when strictly needed.

In case you are still unsure, why use Typetta instead of other ORMs?

  • It's the ONLY TypeScript ORM that has full support for SQL and MongoDB databases.

  • A very strict typing system that 100% leverages TypeScript in providing types as responses based on the requested data type.

  • Using standard GraphQL as data modeling language opens the door to a whole set of instruments and third party tools.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].