Skip to main content

Features Overview

This document provides an overview of all features in the forge framework. For detailed documentation on each feature, see the individual feature documents.

Core Features

1. Schema Definition System

Status: ✅ Complete
Location: forge/schema/
Documentation: Schema System Deep Dive

Declarative model definitions with full Django field options, relationships, metadata, and lifecycle hooks.

2. Code Generation

Status: ✅ Complete
Location: forge/codegen/
Documentation: Code Generation Guide

AST-based code generation for models, managers, querysets, and field expressions. Generates type-safe Go code from schema definitions.

3. Type-Safe ORM

Status: ✅ Complete
Location: forge/orm/
Documentation: ORM System Guide

Complete Django-like ORM with type-safe queries, managers, field expressions, and SQL builder.

4. Admin System

Status: ✅ Complete
Location: forge/admin/
Documentation: Admin System Guide

Django-style admin interface with type-safe configuration, CRUD operations, filters, widgets, and export.

5. REST API Framework

Status: ✅ Complete
Location: forge/api/
Documentation: API Framework Guide

DRF-like REST API framework with serializers, viewsets, authentication, permissions, throttling, and more.

6. Filter System

Status: ✅ Complete
Location: forge/filter/
Documentation: Filter System Guide

Advanced filtering system with AST support, query parsing, expression conversion, security validation, and query optimization.

7. Identity System

Status: ✅ Complete
Location: forge/identity/
Documentation: Identity System Guide

Complete user management and authentication system with repositories, services, authentication backends, permissions, sessions, password management, and HTTP handlers.

8. Database Layer

Status: ✅ Complete
Location: forge/db/
Documentation: Database Layer Guide

Database connection management with pooling, transaction support with savepoints, and migration integration.

9. Migration System

Status: ✅ Complete
Location: forge/db/migrate/ and forge/migrate/
Documentation: Migration System Guide

Complete migration system with schema detection, diff generation, SQL generation, execution, rollback, state management, and drift detection.

10. HTTP & Server

Status: ✅ Complete
Location: forge/server/

HTTP server with routing, middleware stack, security, static files, and health checks.

11. Logging System

Status: ✅ Complete
Location: forge/log/

Structured logging with multiple outputs, formats, levels, and exporters.

12. Configuration System

Status: ✅ Complete
Location: forge/config/

Application configuration with YAML, JSON, and environment variable support.

13. Validation System

Status: ✅ Complete
Location: forge/validate/

Data validation with go-playground/validator integration and schema support.

14. Security System

Status: ✅ Complete
Location: forge/security/

Security features including CSRF protection, XSS prevention, and SQL injection prevention.

15. CLI Tools

Status: ✅ Complete
Location: forge/cli/

Command-line interface for project creation, code generation, migrations, and server management.

Feature Status Summary

✅ Complete Features (15)

FeatureStatusCore Functionality
Schema System✅ CompleteFull Django field options, relations, meta, hooks
Code Generation✅ CompleteAST parsing, model/manager/queryset generation
ORM System✅ CompleteQuerySet API, Manager CRUD, SQL builder
Admin System✅ CompleteType-safe admin, CRUD, filters, widgets, export
API Framework✅ CompleteViewSets, Serializers, Auth, Permissions, Throttling
Filter System✅ CompleteAST-based filtering, query parsing, security
Identity System✅ CompleteUser management, auth, sessions, permissions
Database Layer✅ CompleteConnections, transactions, migrations
Migration System✅ CompleteSchema detection, diff generation, execution
HTTP Server✅ CompleteRouting, middleware, security, static files
Logging System✅ CompleteStructured logging, multiple outputs
Configuration✅ CompleteYAML, JSON, env vars, hierarchical
Validation✅ CompleteValidator integration, schema support
Security✅ CompleteCSRF, XSS, SQL injection prevention
CLI Tools✅ CompleteProject creation, code generation, migrations

🚧 In Progress / Partial

FeatureStatusNotes
Advanced ORM🚧 PartialSelectRelated/PrefetchRelated structure ready
Aggregates🚧 PartialStructure ready, implementation in progress
Annotations🚧 PartialStructure ready, implementation in progress

📋 Planned Features

See the implementation status for current coverage.

Feature Dependencies

Schema System

Code Generation

ORM System ←→ Database Layer
↓ ↓
Admin System Migration System

API Framework

Filter System

Identity System

HTTP Server ←→ Logging System
↓ ↓
Configuration ←→ Security

CLI Tools

Feature Integration

Admin + ORM

  • Admin uses ORM QuerySet for data access
  • Type-safe field expressions in admin
  • Filter integration with ORM

API + ORM

  • ViewSets use ORM for data access
  • Serializers work with ORM models
  • Filter integration with API

Filter + ORM

  • Filters convert to ORM expressions
  • AST-based query parsing
  • Security validation

Identity + Admin

  • Permission system integration
  • User management in admin
  • Authentication middleware

Identity + API

  • Authentication backends
  • Permission classes
  • User serializers

Feature Extensibility

All features support extension:

  • Schema System: Custom fields, relations, hooks
  • Code Generation: Custom templates, generators
  • ORM System: Custom QuerySet methods, expressions
  • Admin System: Custom widgets, filters, actions
  • API Framework: Custom serializers, viewsets, auth
  • Filter System: Custom filters, widgets, parsers
  • Identity System: Custom backends, services
  • HTTP Server: Custom middleware, handlers
  • Logging System: Custom exporters, hooks
  • CLI Tools: Custom commands, templates

Feature Testing

Each feature has:

  • Unit tests
  • Integration tests (where applicable)
  • Example usage
  • Documentation

Feature Documentation

For detailed documentation on each feature, see the Deep Dives and Guides: