Getting Started with AIDDDMAP Development¶
Prerequisites¶
Before you begin development with AIDDDMAP, ensure you have the following installed:
- Node.js (v16 or higher)
- Docker and Docker Compose
- Git
- A code editor (VS Code recommended)
Quick Start¶
- Clone the Repository
- Install Dependencies
- Set Up Environment
- Start Development Server
Project Structure¶
aidddmap/
├── src/
│ ├── app/ # Core application code
│ ├── components/ # Reusable UI components
│ ├── features/ # Feature modules
│ │ ├── idat/ # Interactive Data Assembly Tool
│ │ ├── sfdp/ # Secure Fitness Data Pipeline
│ │ └── uadm/ # Universal Agent Deployment Module
│ ├── lib/ # Core libraries
│ └── marketplace/ # Marketplace functionality
├── docs/ # Documentation
├── tests/ # Test files
└── docker/ # Docker configuration
Key Components¶
1. IDAT (Interactive Data Assembly Tool)¶
- Canvas-based interface for data workflow
- Agent integration
- Real-time collaboration features
2. UADM (Universal Agent Deployment Module)¶
- Agent creation and management
- Hardware abstraction layer
- Device integration
3. SFDP (Secure Fitness Data Pipeline)¶
- Fitness data processing
- Encryption integration
- Real-time analytics
Development Workflow¶
- Create Feature Branch
-
Development
-
Write code following our style guide
- Add tests for new features
-
Update documentation
-
Testing
npm run test # Run unit tests
npm run test:e2e # Run end-to-end tests
npm run lint # Check code style
- Submit Pull Request
- Create PR with detailed description
- Address review comments
- Ensure CI passes
Configuration¶
Environment Variables¶
NODE_ENV=development
API_URL=http://localhost:3000
ENCRYPTION_KEY=your-key
DATABASE_URL=postgresql://user:pass@localhost:5432/dbname
Docker Setup¶
# Start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Stop services
docker-compose down
Common Tasks¶
Adding a New Agent¶
- Create agent class in
src/features/uadm/agents/ - Implement required interfaces
- Register in agent registry
- Add tests and documentation
Implementing Encryption¶
- Use encryption drawer component
- Configure encryption modes
- Implement key management
- Add security tests
Debugging¶
Development Tools¶
- Chrome DevTools for frontend
- VS Code debugger configuration
- Docker container inspection
Common Issues¶
-
WASM Loading Issues
-
Check browser console
- Verify WASM compilation
-
Check file paths
-
Agent Communication
- Verify WebSocket connection
- Check agent configuration
- Review logs
Best Practices¶
-
Code Style
-
Follow TypeScript guidelines
- Use ESLint and Prettier
-
Write meaningful comments
-
Testing
-
Write unit tests for new features
- Include integration tests
-
Test encryption thoroughly
-
Security
- Follow security guidelines
- Implement proper encryption
- Validate user input
Resources¶
Support¶
- GitHub Issues for bug reports
- Development chat on Discord
- Weekly developer meetings
- Documentation updates
Next Steps¶
- Review the Architecture Overview
- Explore the API Documentation
- Join our Developer Community
- Start building your first feature!