UNPKG

oneie

Version:

Build apps, websites, and AI agents in English. Zero-interaction setup for AI agents (Claude Code, Cursor, Windsurf). Download to your computer, run in the cloud, deploy to the edge. Open source and free forever.

483 lines (387 loc) 15.1 kB
--- title: Backend Target Structure dimension: things category: plans tags: backend, convex, ontology related_dimensions: connections, events, groups, knowledge, people scope: global created: 2025-11-03 updated: 2025-11-03 version: 1.0.0 ai_context: | This document is part of the things dimension in the plans category. Location: one/things/plans/backend-target-structure.md Purpose: Documents backend target structure (after conformance) Related dimensions: connections, events, groups, knowledge, people For AI agents: Read this to understand backend target structure. --- # Backend Target Structure (After Conformance) **Status**: Target Design **Purpose**: Vision of beautifully organized backend that 100% maps to 6-dimension ontology --- ## Current State (BEFORE) ``` backend/ ├── 20+ markdown files (scattered, some duplicate) ├── _tests_disabled/ (obsolete) ├── convex/ (good structure) ├── lib/ (utilities with scattered docs) ├── test/ (good structure) ├── examples/ (should be in /one/) ├── scripts/ (good structure) ├── README.md (outdated - says "4-table") └── BACKEND-AUDIT-MANIFEST.md (new - assessment guide) ``` **Problems**: - Documentation scattered across root - Duplicate files (3 copies of query docs, 3 copies of structure docs) - Outdated references ("4-table" instead of "6-dimension") - No clear mapping to 6-dimension ontology - Examples not discoverable (not in /one/) - Disabled tests take up space **Impact**: - 33+ files to assess and organize - Context switching between `/backend/` and `/one/` - Unclear which files are current vs. archived - Difficult for new developers to find relevant docs --- ## Target State (AFTER) ### `/backend/` - Clean & Minimal ``` backend/ ├── convex/ ├── schema.ts (6-dimension ontology ✅) ├── groups table ├── people table ├── things table ├── connections table ├── events table └── knowledge table ├── auth.ts (People dimension) ├── auth.config.ts ├── queries/ ├── groups.ts ├── people.ts ├── things.ts ├── connections.ts ├── events.ts ├── knowledge.ts ├── ontology.ts (meta queries) └── README.md ├── mutations/ ├── groups.ts ├── people.ts ├── things.ts ├── connections.ts ├── knowledge.ts ├── init.ts ├── onboarding.ts └── README.md ├── actions/ (server-side actions) ├── internalActions/ ├── events.ts (event logging) ├── search.ts (RAG/embedding) └── validation.ts ├── services/ ├── entityService.ts (Things dimension) ├── ontologyMapper.ts (Mapping logic) ├── brandGuideGenerator.ts ├── featureRecommender.ts ├── websiteAnalyzer.ts └── layers.ts ├── ontologies/ (feature-specific definitions) ├── base.json ├── blog.json ├── courses.json ├── ecommerce.json └── portfolio.json ├── types/ ├── ontology.ts (auto-generated) └── README.md ├── http.ts (HTTP endpoints) ├── convex.config.ts └── INDEX.md (navigation) ├── lib/ ├── ontology-loader.ts (load definitions) ├── ontology-validator.ts (validate structure) ├── ontology-errors.ts (error handling) ├── type-generator.ts (type gen) ├── jwt.ts (auth utils) ├── validation.ts (validators) └── __tests__/ (lib tests) ├── test/ ├── groups.test.ts ├── things.test.ts ├── connections.test.ts (future) ├── events.test.ts (future) ├── knowledge.test.ts (future) ├── auth.test.ts (future) ├── README.md (testing guide) └── RUN_TESTS.md (how to run) ├── scripts/ ├── generate-ontology-types.ts ├── generate-template-from-ontology.ts └── README.md ├── README.md (clean overview) ├── LICENSE.md ├── package.json ├── tsconfig.json ├── vitest.config.ts ├── bun.lock └── .env.local (secrets - .gitignored) # NO subdirectories for: # - _tests_disabled/ ❌ DELETED # - 33 markdown files (moved to /one/) # - examples/ (moved to /one/knowledge/) ``` **Total files in /backend/**: ~60 (down from 200+) **All source code present**: **Documentation clean**: (moved to /one/) **Ontology-compliant**: --- ### `/one/things/plans/` - Backend Architecture Docs ``` one/things/plans/ ├── backend-ontology-conformance.md (THIS FILE - the plan) ├── backend-target-structure.md (target vision) └── backend-structure.md (merged from 3 originals) ``` ### `/one/things/implementation/` - Backend Development Guides ``` one/things/implementation/ ├── backend-guide.md (how to implement features) ├── convex-patterns.md ├── auth-patterns.md └── ontology-mapping.md (how to map to 6 dimensions) ``` ### `/one/connections/api/` - Query & Mutation Reference ``` one/connections/api/ ├── queries-reference.md (consolidated from 3 files) ├── mutations-reference.md ├── http-endpoints.md ├── ontology-queries.md (examples) └── convex-quick-reference.md (quick ref) ``` ### `/one/events/` - Analysis, Testing, & Insights ``` one/events/ ├── backend-integration-tests.md (consolidated from 2 files) ├── backend-structure-analysis.md ├── backend-structure-diagram.txt ├── backend-structure-summary.txt ├── convex-analysis-index.md ├── test-dashboard.md ├── test-index.md ├── test-report-ontology.md ├── testing-summary.md ├── ontology-test-examples.md └── disabled-tests-archive.md (archive note from _tests_disabled/) ``` ### `/one/knowledge/` - Learning Resources ``` one/knowledge/ ├── ontology-visual-guide.md └── examples/ ├── backend-examples/ ├── complete-newsletter-example/ ├── ontology-types-usage.ts └── README.md ├── frontend-examples/ └── full-stack-examples/ ``` ### `/one/people/` - Authorization & Roles ``` one/people/ ├── backend-auth-roles.md ├── better-auth-guide.md └── permissions-model.md ``` --- ## Organization by 6-Dimension ### 1. GROUPS Dimension **Files that document multi-tenant isolation**: - `one/things/plans/backend-structure.md` (groups table section) - `backend/convex/schema.ts` (groups table definition) - `backend/convex/queries/groups.ts` (read operations) - `backend/convex/mutations/groups.ts` (write operations) ### 2. PEOPLE Dimension **Files that document authorization & governance**: - `one/people/backend-auth-roles.md` - `one/people/better-auth-guide.md` - `backend/convex/auth.ts` (auth config) - `backend/convex/mutations/people.ts` (person operations) - `backend/convex/queries/people.ts` (read people) ### 3. THINGS Dimension **Files that document entity definitions**: - `one/things/plans/backend-structure.md` (things table section) - `one/things/implementation/backend-guide.md` - `backend/convex/schema.ts` (things table + 66+ types) - `backend/convex/ontologies/*.json` (feature types) - `backend/convex/mutations/things.ts` (create/update entities) - `backend/convex/queries/things.ts` (read entities) - `backend/convex/services/entityService.ts` (entity operations) - `one/knowledge/examples/backend-examples/` (usage examples) ### 4. CONNECTIONS Dimension **Files that document relationships**: - `one/connections/api/queries-reference.md` - `one/connections/api/mutations-reference.md` - `backend/convex/schema.ts` (connections table + 25+ types) - `backend/convex/mutations/connections.ts` (create/update relations) - `backend/convex/queries/connections.ts` (read relations) - `one/connections/api/ontology-queries.md` (query examples) ### 5. EVENTS Dimension **Files that document actions & audit trail**: - `one/events/backend-integration-tests.md` - `one/events/testing-summary.md` - `one/events/ontology-test-examples.md` - `backend/convex/schema.ts` (events table + 67+ types) - `backend/convex/internalActions/events.ts` (event logging) - `backend/convex/queries/events.ts` (read events) ### 6. KNOWLEDGE Dimension **Files that document embeddings & RAG**: - `one/knowledge/ontology-visual-guide.md` - `one/knowledge/examples/backend-examples/` - `backend/convex/schema.ts` (knowledge table) - `backend/convex/mutations/knowledge.ts` (create/update knowledge) - `backend/convex/queries/knowledge.ts` (search/retrieve) - `backend/convex/internalActions/search.ts` (embedding + RAG) --- ## File Movement Summary ### DELETE (4 files) ❌ ``` ONTOLOGY-FILE-STRUCTURE.md (duplicate) ONTOLOGY-INTEGRATION-TEST-SUMMARY.md (consolidate with report) PERFECT-ONTOLOGY-STRUCTURE.md (duplicate) _tests_disabled/ (entire directory - obsolete) ``` ### MOVE (12 files) 📋 ``` BACKEND-STRUCTURE.md /one/things/plans/ (consolidate) CONVEX-ANALYSIS-INDEX.md /one/events/ CONVEX-STRUCTURE-ANALYSIS.md /one/events/ CONVEX-STRUCTURE-DIAGRAM.txt /one/events/ IMPLEMENTATION-GUIDE.md /one/things/implementation/ ONTOLOGY-TEST-EXAMPLES.md /one/events/ ONTOLOGY_VISUAL_GUIDE.md /one/knowledge/ ONTOLOGY_QUERIES_EXAMPLE.md /one/connections/api/ (consolidate) QUERIES_ONTOLOGY_COMPLETE.md /one/connections/api/ (consolidate) QUERY_ONTOLOGY.md /one/connections/api/ (consolidate) TEST-DASHBOARD.md /one/events/ TEST-INDEX.md /one/events/ TEST-REPORT-ONTOLOGY.md /one/events/ TESTING-SUMMARY.md /one/events/ ``` ### CONSOLIDATE (3 groups) ⚠️ ``` Query docs: ONTOLOGY_QUERIES_EXAMPLE.md + QUERIES_ONTOLOGY_COMPLETE.md + QUERY_ONTOLOGY.md one/connections/api/queries-reference.md Structure docs: BACKEND-STRUCTURE.md + ONTOLOGY-FILE-STRUCTURE.md + PERFECT-ONTOLOGY-STRUCTURE.md one/things/plans/backend-structure.md Test reports: ONTOLOGY-INTEGRATION-TEST-REPORT.md + ONTOLOGY-INTEGRATION-TEST-SUMMARY.md one/events/backend-integration-tests.md ``` ### KEEP in `/backend/` (10 items) ✅ ``` convex/ (all - source code) lib/ (all - utilities) test/ (all - active tests) scripts/ (all - build tools) README.md (update "4-table" "6-dimension") LICENSE.md package.json .env.local vitest.config.ts bun.lock ``` --- ## Quality Metrics | Metric | Before | After | Target | | ----------------------------- | ------------------- | -------- | -------- | | Markdown files in `/backend/` | 20 | 2 | <5 | | Duplicate documentation | 7 files (3+ copies) | 0 | 0 | | Files mapped to 6 dimensions | ~50% | 100% | 100% | | Discoverability (in /one/) | ~30% | ~95% | 100% | | TypeScript errors | 0 | 0 | 0 | | Broken links | Unknown | 0 | 0 | | Schema compliance | 6-dim | 6-dim | 6-dim | --- ## Success Checklist - [ ] All source code remains in `/backend/convex/` - [ ] All documentation moved to `/one/` (except README.md) - [ ] All duplicates consolidated (7 files 3 consolidated files) - [ ] All deleted files archived (only \_tests_disabled/ truly deleted) - [ ] Schema.ts verified - 6 dimensions intact - [ ] TypeScript compilation successful - [ ] All markdown links updated and valid - [ ] README.md updated (4-table 6-dimension) - [ ] Examples moved to `/one/knowledge/examples/` - [ ] Every file mapped to at least 1 ontology dimension --- ## Why This Matters ### Before: Hard to Navigate - Q: "Where's the query documentation?" - A: "It's in QUERY_ONTOLOGY.md... or maybe QUERIES_ONTOLOGY_COMPLETE.md... or ONTOLOGY_QUERIES_EXAMPLE.md" - Problem: 3 files, different content, unclear which to use ### After: Crystal Clear - Q: "Where's the query documentation?" - A: "Read `/one/connections/api/queries-reference.md`" - Problem solved: 1 file, consolidated, discoverable ### Before: Scattered Context - To understand backend: read `/backend/README.md`, then 20+ files, piecing it together - Hard to see 6-dimension mapping ### After: Organized by Dimension - To understand backend: navigate `/one/` by dimension - Groups check `/one/things/plans/backend-structure.md` section 1 - People check `/one/people/backend-auth-roles.md` - Things check `/one/things/implementation/` + `/one/knowledge/examples/` - Connections check `/one/connections/api/` - Events check `/one/events/` - Knowledge check `/one/knowledge/` --- ## Implementation Phases ### Phase 1: Audit (✅ DONE) - [x] Create BACKEND-AUDIT-MANIFEST.md (file-by-file assessment) - [x] Create this document (target vision) - [x] Create backend-ontology-conformance.md (100-cycle plan) ### Phase 2: Consolidation (Next) - [ ] Merge 3 query docs into 1 - [ ] Merge 3 structure docs into 1 - [ ] Merge 2 test reports into 1 - [ ] Move consolidated files to `/one/` ### Phase 3: Migration (Then) - [ ] Move remaining documentation to `/one/` - [ ] Move examples to `/one/knowledge/examples/` - [ ] Delete \_tests_disabled/ - [ ] Delete duplicate files ### Phase 4: Cleanup (Finally) - [ ] Update /backend/README.md - [ ] Verify TypeScript compilation - [ ] Test all markdown links - [ ] Validate 6-dimension schema --- ## Risk Mitigation | Risk | Mitigation | | ----------------------- | ------------------------------------------------------------------ | | Breaking imports | Convex source code stays in `/backend/` - no import changes needed | | Losing documentation | Keep backups during migration, verify everything copied | | Broken links | Use grep to find all references before moving | | Schema validation fails | Don't touch schema.ts - only organize documentation | --- ## Next Steps 1. Review this target structure 2. Approve the plan 3. Execute Phase 2 (Consolidation) 4. Execute Phase 3 (Migration) 5. Execute Phase 4 (Cleanup) 6. Celebrate! 🎉 **Estimated effort**: 4-6 hours total **Payoff**: Infinitely better developer experience forever --- **Status**: Ready for execution **Owner**: Agent-clean, Agent-backend **Timeline**: 60-100 cycles in 100-cycle sequence