Skip to main content
Hero Light

What is IlanaORM?

Ìlànà (pronounced “ee-LAH-nah”) is a Yoruba word meaning “pattern,” “system,” or “protocol.” IlanaORM is a fully-featured, Eloquent-style Object-Relational Mapping (ORM) library for Node.js that makes database interactions simple and intuitive. Think of it as a bridge between your JavaScript/TypeScript code and your database.

Beginner Friendly

Start building with simple, readable syntax that makes sense

TypeScript Ready

Automatic TypeScript support with full type safety

Database Agnostic

Works with PostgreSQL, MySQL, and SQLite out of the box

Laravel Inspired

Familiar patterns if you’ve used Laravel’s Eloquent ORM

Why Choose IlanaORM?

🚀 Easy to Learn

If you’re new to ORMs, IlanaORM uses simple, English-like methods that make database operations intuitive:
// Instead of writing SQL like this:
// SELECT * FROM users WHERE age > 18 AND is_active = true

// You write this:
const users = await User.query()
  .where("age", ">", 18)
  .where("is_active", true)
  .get();

🛡️ Type Safe

Automatic TypeScript support means fewer bugs and better developer experience:
const user = await User.find(1); // TypeScript knows this is a User instance
user.name = "John"; // ✅ Valid
user.invalidProperty = "test"; // ❌ TypeScript error

🔗 Powerful Relationships

Define how your data connects with simple relationship methods:
class User extends Model {
  posts() {
    return this.hasMany("Post"); // A user has many posts
  }
}

// Load user with all their posts
const user = await User.with("posts").find(1);

🏗️ Complete Toolkit

Everything you need for database management:
  • Models - Represent your data
  • Migrations - Version control for your database
  • Seeders - Populate your database with test data
  • Factories - Generate realistic fake data
  • Query Builder - Build complex queries with ease

What You’ll Learn

This documentation will teach you:
How databases work, what tables and relationships are, and why ORMs are useful
Installation, configuration, and connecting to your database
How to represent your data as JavaScript/TypeScript classes
Finding, filtering, and retrieving data from your database
How to connect different types of data together
Events, observers, custom casting, and performance optimization

Ready to Start?

Quick Start Guide

Get IlanaORM up and running in 5 minutes
New to databases? Don’t worry! This documentation explains everything from the ground up. We’ll start with the basics and gradually introduce more advanced concepts.