Entiqon
A structured, intelligent foundation for building queryable, entity-aware Go systems.
๐ฆ Packages¶
Common: Shared utilities and helper functions used across multiple modules. Installation:
go get github.com/entiqon/common
Database: Modular SQL query builder focused on database operations. Installation: go get github.com/entiqon/db
Future modules such as core, auth, http, and others will be added following the modular architecture.
๐งญ Doctrine¶
- Never panic โ always return a token or builder, errors are embedded not thrown.
- Auditability โ preserve user input for logs and error context.
- Strict validation โ invalid expressions rejected early.
- Delegation โ tokens own parsing/validation, builders compose them.
-
Layered validation โ
ResolveExpressionenforces correctness in three independent stages:- Type validation: only raw strings are accepted; existing tokens (Field, Table, etc.) are rejected with
guidance to use
Clone(). - Classification: expressions are categorized (
Identifier,Function,Aggregate,Subquery,Literal, etc.) by syntax. - Resolution: each category applies its own rules for parsing and alias validation.
- Type validation: only raw strings are accepted; existing tokens (Field, Table, etc.) are rejected with
guidance to use
This separation keeps the API strict, predictable, and auditable without duplicating rules across layers.
๐ Best Practices¶
- ๐งผ Clarity over brevity โ use explicit method names
- ๐ซ Deprecations are tested and clearly marked
- ๐ Validate every path โ no silent failures
- ๐งฉ Always quote identifiers through the dialect
๐งฉ Design Patter¶
- ๐ Chain โ Validate โ Compile
- ๐ง Tag errors with
StageToken - โ๏ธ Compose with safe abstractions
- ๐ Group test methods visually
๐ฆ Releases¶
๐ค Contributing¶
We welcome contributions! ๐
Please read the CONTRIBUTING.md guide for details on:
- Writing tests
- Commit message conventions
- Documentation updates
- Release process
For a quick checklist, see PULL_REQUEST_TEMPLATE.md.
๐ License¶
๐ก Originally created by Isidro Lopez ๐ข Maintained by the Entiqon Organization
MIT โ ยฉ Isidro Lopez / Entiqon Project