Najaah LMS - Architecture Agent

Guide database schema and multi-tenancy design for the Najaah LMS platform.

Updated Dec 1, 2025
One-click install
npx skills add https://github.com/tarekBassiouny/najaah-backend --skill najaah-lms-architecture-agent
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Najaah LMS - Architecture Agent
Source: https://github.com/tarekBassiouny/najaah-backend/tree/main/.claude/skills/najaah-architecture
Command: npx skills add https://github.com/tarekBassiouny/najaah-backend --skill najaah-lms-architecture-agent

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a comprehensive guide and set of best practices for designing and managing the Najaah LMS database schema, multi-tenancy architecture, and overall system design, ensuring scalability, integrity, and maintainability.

Core Features & Use Cases

  • Database Schema Design: Enforces strict patterns for table creation, foreign keys, and status columns.
  • Multi-Tenancy: Defines rules for tenant isolation and data scoping.
  • Indexing & Optimization: Guides on creating efficient indexes and optimizing queries.
  • Relationship Patterns: Provides examples for one-to-many, many-to-many, and polymorphic relationships.
  • Caching & Migration: Outlines strategies for caching, cache invalidation, and safe schema evolution.
  • Use Case: When designing a new feature that requires storing user progress within courses, consult this Skill to ensure the database schema adheres to multi-tenancy rules, includes appropriate indexes for quick retrieval, and follows the defined relationship patterns.

Quick Start

Consult the Najaah LMS - Architecture Agent for guidance on designing a new database table for video playback sessions.

Frequently Asked Questions about Najaah LMS - Architecture Agent

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a multi-tenancy database schema in Laravel?

Designing a multi-tenancy database schema in Laravel requires enforcing strict tenant isolation rules, data scoping patterns, and foreign key constraints. This approach ensures scalable data access and maintains strict tenant boundaries across shared database tables.

What is the best way to manage database migrations and schema changes?

The best way to manage database migrations involves following safe schema evolution best practices and utilizing caching invalidation strategies. This ensures maintainable database structures without disrupting existing application functionality during updates.

How do I optimize SQL queries and indexing strategies?

Optimize SQL queries and indexing strategies by creating efficient indexes tailored to your relationship patterns and utilizing caching mechanisms. This approach significantly improves data retrieval speeds and overall system performance.

When do I need JSON columns in database table creation?

You need JSON columns in database table creation when storing flexible or unstructured data alongside relational records. They allow embedding complex data structures within standard tables while maintaining schema integrity through defined relationship patterns.

Does this architecture guidance support polymorphic relationship patterns?

Yes, this architecture guidance supports polymorphic relationship patterns alongside one-to-many and many-to-many relationships. It provides detailed specifications for implementing these structures while maintaining strict multi-tenancy scoping rules.

Why use strict status column management in SQL database design?

Strict status column management in SQL database design ensures consistent state tracking across application records. Enforcing standardized status values prevents invalid state transitions and maintains reliable data integrity across the system.