With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js. Learn more โ
Top 18 ODM / ORM Open-Source Projects
-
SheetJS js-xlsx
๐ SheetJS Spreadsheet Data Toolkit -- New home https://git.sheetjs.com/SheetJS/sheetjs
-
Sequelize
Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
MikroORM
TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Waterline
An adapter-based ORM for Node.js with support for mysql, mongo, postgres, mssql (SQL Server), and more
-
signaldb
SignalDB is a local JavaScript database with a MongoDB-like interface and TypeScript support, enabling optimistic UI with signal-based reactivity across multiple frameworks. It integrates easily with libraries like Angular, Solid.js, Preact, and Vue, simplifying data management with schema-less design, in-memory storage, and fast queries.
-
@Sugoi\orm
SugoiJS ORM module typescript based - Simple solution for object handling with predefined lifecycle (by sugoiJS)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
ExcelJS and XLSX (SheetJS) are great libraries to work with XLSX files. The former I've found a bit easier to work with but less efficient in general.
Sequelize - modern Typescript and NodeJS ORM for Oracle, Postgres, MySQL, MariaDB, SQLite, SQL Server+docs
To manage user auth we need to create a user account - identification. So, let's install mongoose and jsonwebtoken to handle JWT authentication - an alternative to creating a user session when a user logs in
Project mention: Ask HN: How Can I Make My Front End React to Database Changes in Real-Time? | news.ycombinator.com | 2024-04-17I'm interested in this problem also!
I think there is a large overlap with projects that market/focus on offline-first experiences.
AFAIK this problem can be solved by:
1) Considering a client-side copy of the database that gets synced with the remote DB. This is an approach [PowerSync](https://www.powersync.com/) and [ElectricSql](https://electric-sql.com/) and [rxdb](https://rxdb.info/) take!
Objection.js is a SQL-friendly ORM for Node.js that supports various relational databases, including PostgreSQL, MySQL, and SQLite. It provides a flexible and expressive query builder. Objection.js is known for its expressive syntax, allowing developers to build complex queries easily. It supports eager loading, transactions, and migrations.
In my usual NodeJS tech stack, which includes GraphQL, NestJS, SQL (predominantly PostgreSQL with MikroORM), I encountered these limitations. To overcome them, I've developed a new stack utilizing Rust, which still offers some ease of development:
Bookshelf.js is an uncomplicated and lightweight ORM designed for Node.js, constructed atop the Knex.js query builder. Its primary aim is to support SQL databases, such as PostgreSQL, MySQL, and SQLite. Bookshelf.js focuses on simplicity and user-friendliness, offering a direct method for defining models and relationships through JavaScript classes and prototypal inheritance.
And sometimes invest instead in learning a technology rather than hide it: for example slonik encourages you to write normal SQL queries by making SQL templating easier and safer. In turn, your IDE would be able to understand those queries and give you support based on the database schemas you actually have.
Personally with more time I would also use JavaScript so I can improve it. Last time I wrote something with Express and a database connection is a long time ago and not for work, only for my personal testing. But for JavaScript database connection to PostgreSQL I recommend pg-promise. That works like a charm.
Project mention: Ask HN: Are you using MSSQL at work, is it popular? | news.ycombinator.com | 2024-01-26Not that often. They're more likely to be c#/java/native places. But there's no barrier really: https://www.npmjs.com/package/mssql
Project mention: Show HN: SignalDB โ Reactive Local JavaScript Database | news.ycombinator.com | 2023-10-20
ODM / ORM related posts
- You can't leak users' data if you don't hold it
- OAuth 2.0 implementation in Node.js
- querySrv errors when connecting to MongoDB Atlas
- Ask HN: Are you using MSSQL at work, is it popular?
- MikroORM 6: Polished โ MikroORM
- Sneakiest development trap: making easy easier...
- What Are ORMs & Should You Useย Them
-
A note from our sponsor - SurveyJS
surveyjs.io | 23 Apr 2024
Index
What are some of the best open-source ODM / ORM projects? This list will help you:
Project | Stars | |
---|---|---|
1 | SheetJS js-xlsx | 34,449 |
2 | Sequelize | 29,026 |
3 | Mongoose | 26,598 |
4 | RxDB | 20,542 |
5 | Objection.js | 7,198 |
6 | MikroORM | 7,122 |
7 | Bookshelf | 6,338 |
8 | Waterline | 5,415 |
9 | slonik | 4,367 |
10 | pg-promise | 3,414 |
11 | orm2 | 3,074 |
12 | node-mssql | 2,208 |
13 | Iridium | 567 |
14 | signaldb | 163 |
15 | firenze | 131 |
16 | uuid-mongodb | 99 |
17 | @Sugoi\orm | 5 |
18 | @Sugoi\mongoDB | 4 |
Sponsored