SOBIE Conference API Documentation

SOBIE Node - Directory Organization

๐Ÿ“ Project Structure

The SOBIE Node project is now properly organized with the following structure:

sobieNode/
โ”œโ”€โ”€ ๐Ÿ“„ Configuration Files
โ”‚   โ”œโ”€โ”€ .env.example                 # Environment template
โ”‚   โ”œโ”€โ”€ .eslintrc.js                # ESLint configuration
โ”‚   โ”œโ”€โ”€ jest.config.js              # Jest testing configuration
โ”‚   โ”œโ”€โ”€ package.json                # Node.js dependencies
โ”‚   โ””โ”€โ”€ package-lock.json           # Dependency lock file
โ”‚
โ”œโ”€โ”€ ๐Ÿ“š docs/                        # Documentation
โ”‚   โ”œโ”€โ”€ DUAL_ROLE_SYSTEM.md         # Dual role system documentation
โ”‚   โ”œโ”€โ”€ MEMORIAL_SYSTEM.md          # Memorial system documentation
โ”‚   โ”œโ”€โ”€ DUPLICATE_MERGE_SUCCESS_REPORT.md # Duplicate merge report
โ”‚   โ”œโ”€โ”€ PROFILE_DASHBOARD_INTEGRATION.md  # Profile integration docs
โ”‚   โ”œโ”€โ”€ PROJECT_STATUS_FINAL.md     # Final project status
โ”‚   โ”œโ”€โ”€ ADMIN_API.md                # Admin API documentation
โ”‚   โ”œโ”€โ”€ AUTHENTICATION_API.md       # Auth API documentation
โ”‚   โ”œโ”€โ”€ README.md                   # Main documentation
โ”‚   โ””โ”€โ”€ apis/                       # API documentation
โ”‚
โ”œโ”€โ”€ ๐Ÿงช __tests__/                   # Test Suite
โ”‚   โ”œโ”€โ”€ profiles/                   # Profile-related tests
โ”‚   โ”‚   โ””โ”€โ”€ test-historical-profile.js
โ”‚   โ”œโ”€โ”€ integration/                # Integration tests
โ”‚   โ”‚   โ”œโ”€โ”€ test-migration.js
โ”‚   โ”‚   โ””โ”€โ”€ test-sobie-history-api.js
โ”‚   โ”œโ”€โ”€ auth/                       # Authentication tests
โ”‚   โ”œโ”€โ”€ comprehensive-app-test.js   # Full application test
โ”‚   โ””โ”€โ”€ setup.js                    # Test setup configuration
โ”‚
โ”œโ”€โ”€ ๐Ÿ”ง scripts/                     # Utility Scripts
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Š Data Migration
โ”‚   โ”‚   โ”œโ”€โ”€ migrate-multi-year.js
โ”‚   โ”‚   โ”œโ”€โ”€ migrate-sobie-2023-fixed.js
โ”‚   โ”‚   โ”œโ”€โ”€ migrate-sobie-2023.js
โ”‚   โ”‚   โ”œโ”€โ”€ enhance-historical-users.js
โ”‚   โ”‚   โ””โ”€โ”€ merge-duplicate-users.js
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ PDF Processing
โ”‚   โ”‚   โ””โ”€โ”€ analyze-pdf-direct.js
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ๐Ÿ› ๏ธ Shell Scripts
โ”‚   โ”‚   โ”œโ”€โ”€ migrate-multi-year.sh
โ”‚   โ”‚   โ”œโ”€โ”€ populate-database.sh
โ”‚   โ”‚   โ”œโ”€โ”€ process-and-analyze.sh
โ”‚   โ”‚   โ”œโ”€โ”€ run-parser-updated.sh
โ”‚   โ”‚   โ””โ”€โ”€ test-program-parser.sh
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ๐ŸŽญ demo/                    # Demo Scripts
โ”‚   โ”‚   โ”œโ”€โ”€ dual-role-demo.js       # Dual role system demo
โ”‚   โ”‚   โ”œโ”€โ”€ memorial-system-guide.js # Memorial system demo
โ”‚   โ”‚   โ””โ”€โ”€ demo-profile-dashboard.js # Profile dashboard demo
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ ๐Ÿ” Utilities
โ”‚       โ”œโ”€โ”€ scan-project.js
โ”‚       โ”œโ”€โ”€ debug-api-auth.js
โ”‚       โ”œโ”€โ”€ validate-environment.js
โ”‚       โ””โ”€โ”€ comprehensive-audit.js
โ”‚
โ”œโ”€โ”€ ๐Ÿ’ป src/                         # Source Code
โ”‚   โ”œโ”€โ”€ controllers/                # Request handlers
โ”‚   โ”œโ”€โ”€ models/                     # Database models
โ”‚   โ”œโ”€โ”€ routes/                     # API routes
โ”‚   โ”œโ”€โ”€ middleware/                 # Custom middleware
โ”‚   โ”œโ”€โ”€ services/                   # Business logic
โ”‚   โ”œโ”€โ”€ utils/                      # Utility functions
โ”‚   โ””โ”€โ”€ config/                     # Configuration files
โ”‚
โ”œโ”€โ”€ ๐Ÿ“Š migration-reports/           # Migration Results
โ”œโ”€โ”€ ๐Ÿ“ logs/                        # Application logs
โ”œโ”€โ”€ ๐Ÿ“ temp/                        # Temporary files
โ””โ”€โ”€ ๐Ÿ“ uploads/                     # File uploads

๐ŸŽฏ Key Organizational Improvements

โœ… Documentation Centralized

โœ… Scripts Organized by Purpose

โœ… Tests Properly Located

โœ… Clean Root Directory

๐Ÿ“‹ File Movement Summary

Documentation โ†’ docs/

Scripts โ†’ scripts/

Tests โ†’ __tests__/

๐Ÿ”— Quick Access

๐Ÿ“š Documentation

# View main documentation
open docs/README.md

# View system documentation
open docs/DUAL_ROLE_SYSTEM.md
open docs/MEMORIAL_SYSTEM.md

๐ŸŽญ Demo Scripts

# Run dual role system demo
node scripts/demo/dual-role-demo.js

# Run memorial system demo
node scripts/demo/memorial-system-guide.js

# Run profile dashboard demo
node scripts/demo/demo-profile-dashboard.js

๐Ÿงช Run Tests

# Run all tests
npm test

# Run specific test suites
npm test __tests__/profiles/
npm test __tests__/integration/

๐Ÿ”ง Utility Scripts

# Database migration
node scripts/migrate-multi-year.js

# Project scanning
node scripts/scan-project.js

# Environment validation
node scripts/validate-environment.js

๐ŸŽ‰ Benefits of New Organization

โœ… Developer Experience: Clear separation of concerns
โœ… Maintainability: Easy to locate specific file types
โœ… Professional Structure: Industry-standard project layout
โœ… Scalability: Organized structure supports growth
โœ… Documentation: Centralized and accessible docs
โœ… Testing: Proper test organization and discovery

The SOBIE Node project now follows professional Node.js project organization standards with clear separation between source code, documentation, scripts, and tests.