Skip to content

a1o1/manuel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Personal Learning Project
This repository is developed for educational purposes and personal skill development.
Manuel - Your AI Manual Assistant

Manuel - AI Powered Studio Assistant

Meet Manuel, your AI-powered voice assistant managing all product manuals using AWS Bedrock

License: MIT Version Performance Model Conventional Commits AWS React Native Redis Cache


Manuel is your friendly AI assistant who specializes in helping you find answers in your product manuals. Whether you're setting up a new device, troubleshooting an issue, or learning advanced features, Manuel is here to help with both text and voice queries. Just like a helpful concierge, Manuel knows your manuals inside and out!

πŸ“± Key Features in Action

iOS App Home Screen iOS Query Results with Sources PDF Page Highlighting
Home screen with usage stats | Query results with source attribution | PDF page highlighting with text search
CLI Query Example
CLI interface showing voice and text query capabilities

πŸš€ Quick Start

Prerequisites

  • AWS CLI configured with appropriate permissions
  • Node.js 18+ for frontend and build tools
  • Python 3.11+ for backend development
  • SAM CLI for serverless deployment

Backend Deployment

cd backend
sam build
sam deploy --template template-minimal.yaml --resolve-s3

Frontend Setup

iOS App

cd frontend/packages/ios-app
npm install
expo start

CLI App

cd frontend
npm install
npm run cli -- --help
# Quick commands:
npm run cli auth login
npm run cli manuals list
npm run cli ask "your question"
npm run cli query voice

πŸ“š Documentation

πŸ—οΈ Architecture

High-Level Overview

graph TB
    A[iOS App - React Native] --> B[API Gateway]
    C[CLI App - Node.js] --> B
    D[Shared Library] --> A
    D --> C

    B --> E[Lambda Functions]
    E --> F[AWS Bedrock]
    E --> G[DynamoDB]
    E --> H[S3]
    E --> I[Cognito]
    E --> J[Transcribe]

    F --> K[Claude 3.5 Sonnet]
    F --> L[Titan Embeddings]
    F --> M[Knowledge Base with User Filtering]

    N[CloudWatch] --> O[Monitoring Dashboard]
    P[WAF] --> B
    Q[Redis Cache] --> E
Loading

Technology Stack

  • Backend: AWS Serverless (Lambda, API Gateway, DynamoDB, S3)
  • AI/ML: AWS Bedrock (Claude 3.5 Sonnet, Titan Embeddings)
  • Frontend: Dual-platform architecture
    • iOS: React Native with Expo
    • CLI: Node.js with Commander.js and Inquirer
    • Shared: TypeScript library with platform adapters
  • Authentication: AWS Cognito with JWT tokens
  • Monitoring: CloudWatch with custom dashboards
  • Security: Multi-layer security with WAF and middleware
  • Performance: Redis caching and connection pooling
  • Testing: Comprehensive integration testing with chaos engineering

πŸ”’ Security Features

  • Enhanced API Security: Rate limiting (50 req/15min) with automatic retry logic
  • Multi-Layer Security: WAF protection + application middleware
  • User Data Isolation: Complete separation of user data using metadata filtering
  • Input Validation: Advanced XSS and SQL injection prevention with sanitization
  • VPC Security: Private subnet isolation with secure VPC endpoints
  • Authentication: JWT-based authentication with refresh tokens
  • Encryption: Data encryption at rest and in transit
  • Security Headers: Comprehensive security headers (HSTS, CSP, X-Frame-Options)
  • IP Allowlisting: Configurable IP address restrictions
  • Redis Caching: Secure Redis caching with user isolation
  • Smart Error Handling: User-friendly security error messages and recovery tips
  • Security Testing: Automated security scanning and penetration testing

πŸ§ͺ Testing & Quality

  • Integration Testing: Comprehensive test suite with 7 test categories
  • Chaos Engineering: Failure scenario simulation and resilience testing
  • Security Testing: Vulnerability scanning and penetration testing
  • Performance Testing: Load testing and performance benchmarking
  • Code Quality: Pre-commit hooks with linting and formatting
  • CI/CD Pipeline: Automated testing and deployment
  • Coverage: Minimum 80% test coverage requirement

πŸ“ˆ Monitoring & Observability

  • Real-time Dashboards: CloudWatch dashboards with custom metrics
  • Structured Logging: JSON-formatted logs with correlation IDs
  • Custom Metrics: Business KPIs and performance indicators
  • Alerting: SNS notifications for critical events
  • Cost Tracking: Real-time cost calculation and optimization
  • Error Tracking: Advanced error handling with retry strategies
  • Performance Monitoring: Response time and throughput tracking

πŸš€ Deployment Environments

Development

  • Basic resource allocation
  • Permissive CORS settings
  • No email alerts
  • Local testing support

Production

  • Enhanced performance configuration
  • Restricted CORS to specific domains
  • Email alerts enabled
  • X-Ray tracing enabled
  • Extended log retention

Claude 4 Testing

  • Conservative quotas for cost control
  • Enhanced monitoring and alerting
  • Cross-region inference profiles
  • Comprehensive performance tracking

🀝 Contributing

We welcome contributions! Please read our Contributing Guidelines for details on:

  • Code of conduct
  • Development setup
  • Commit message standards (Conventional Commits)
  • Pull request process
  • Code review guidelines

Quick Contribution Setup

# Clone the repository
git clone https://github.com/a1o1/manuel.git
cd manuel

# Install commitizen for conventional commits
pipx install commitizen

# Backend setup
cd backend
pip install -r requirements.txt
pip install -r tests/integration/fixtures/requirements.txt

# Install pre-commit hooks
pre-commit install

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Links

πŸ’¬ Support

  • Documentation: Check the comprehensive documentation in each module
  • Issues: Report bugs and request features via GitHub Issues
  • Discussions: Use GitHub Discussions for questions and community support
  • Security: Report security vulnerabilities privately via security@manuel.com

🎯 Roadmap

Phase 1: Foundation (Completed)

  • βœ… Enterprise-grade backend architecture
  • βœ… Multi-layer security implementation
  • βœ… Comprehensive testing framework
  • βœ… Monitoring and observability
  • βœ… CI/CD pipeline setup

Phase 2: Frontend & Mobile (Completed)

  • βœ… Dual-platform frontend architecture
  • βœ… React Native iOS application
  • βœ… Node.js CLI application
  • βœ… Shared business logic library
  • βœ… Platform adapter pattern
  • βœ… Voice recording and playback
  • βœ… Authentication integration
  • βœ… Interactive terminal interface
  • βœ… User data isolation and testing framework
  • βœ… Environment switching for development
  • βœ… End-to-end voice query functionality
  • βœ… File deduplication system
  • βœ… URL-based manual upload
  • βœ… Enhanced CLI security features (v1.0.2)
  • βœ… Redis caching for performance optimization
  • βœ… Advanced API security hardening

Phase 3: Advanced Features (Planned)

  • πŸ“‹ Multi-language support
  • πŸ“‹ Advanced analytics dashboard
  • πŸ“‹ Custom model fine-tuning
  • πŸ“‹ Enterprise SSO integration

Phase 4: Scale & Optimization (Planned)

  • πŸ“‹ Multi-region deployment
  • πŸ“‹ Advanced caching strategies
  • πŸ“‹ Performance optimization
  • πŸ“‹ Cost optimization features

Built with ❀️ by the Manuel Team