NeoBell is an intelligent and multifunctional residential reception system designed to modernize the interaction with your home's entrance. The solution transforms traditional doorbells into a comprehensive smart home security and communication platform.
- π₯ Video Messages: Visitors can leave video messages when you're not home
- π¦ Secure Package Delivery: Protected compartment with NFC access control
- π€ Facial Recognition: AI-powered visitor identification and permissions
- π Smart Access Control: Granular permissions for residents and visitors
- π± Real-time Notifications: Instant alerts on your mobile device
- π― QR Code Integration: Package tracking and delivery management
NeoBell consists of three integrated components working together:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β NeoBell Ecosystem β
βββββββββββββββββββ¬ββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ€
β β β β
β π± Mobile App β βοΈ AWS Backend β π₯οΈ SBC Device (Firmware) β
β (Flutter) β (Serverless) β (Radxa Rock 5C) β
β β β β
β β’ User Interfaceβ β’ API Gateway β β’ Local AI Processing β
β β’ Notifications β β’ Lambda Functions β β’ Facial Recognition β
β β’ Device Controlβ β’ DynamoDB Storage β β’ Voice Intent Recognition β
β β’ Video Viewing β β’ S3 Media Storage β β’ QR Code/Data Matrix Reading β
β β’ Access Mgmt β β’ Cognito Auth β β’ Camera & Sensors β
β β’ Real-time β β’ IoT Core (MQTT) β β’ Hardware Control β
β Updates β β’ SNS Notifications β β’ Local Storage β
β β β β
βββββββββββββββββββ΄ββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ
β β β β
βββββββββββββββββββββ ββββββββββββββββββββββββ
Real-time Communication Real-time Communication
(HTTP - RESTful) (MQTT)
π± Mobile Application (App/NeoBell/)
- Technology: Flutter 3.7.0+ (Android)
- Architecture: Clean Architecture with BLoC/Cubit state management
- Features: Device management, video playback, visitor permissions, package tracking
- Integration: AWS Amplify (Cognito), REST API calls, Firebase notifications
βοΈ AWS Cloud Backend (AWS/)
- Architecture: Serverless and event-driven
- Services: API Gateway, Lambda, DynamoDB, S3, IoT Core, SNS, Cognito
- Language: Python 3.8+ with Boto3
- Features: User management, device communication, media storage, real-time messaging
- Hardware: Radxa Rock 5C Single Board Computer
- Capabilities: Local AI processing, facial recognition, voice commands, QR scanning
- Communication: MQTT via AWS IoT Core, local storage, camera control
NeoBell/
βββ π± App/NeoBell/ # Flutter mobile application
β βββ lib/
β β βββ core/ # Shared infrastructure
β β βββ features/ # Feature-based modules
β βββ android/ # Android-specific configurations
β βββ assets/ # App assets and resources
β βββ README.md # Mobile app documentation
β
βββ βοΈ AWS/ # Cloud infrastructure & backend
β βββ lambda/ # Specialized Lambda functions
β βββ iot/ # IoT Core configuration scripts
β βββ sns notification/ # Push notification setup
β βββ mock/ # Development data scripts
β βββ README.md # AWS infrastructure documentation
β
βββ π₯οΈ Firmware/ # SBC device firmware (In Development)
β βββ README.md # Firmware documentation
β
βββ π¨ Logos/ # Brand assets and logos
β βββ NeoBell_logo.png # Main logo
β βββ NB_logo.png # Compact NB logo
β βββ NB_white_logo.png # Compact NB logo in all white (Notifications)
β βββ NB_black_logo.png # Compact NB logo in all black (Notifications)
β
βββ README.md # This file - Project overview
-
Development Environment
- Flutter SDK 3.7.0+
- Android Studio or VS Code
- Python 3.8+
- AWS CLI configured
-
AWS Account
- AdministratorAccess permissions (for initial setup)
- Available in
us-east-1region
git clone <repository-url>
cd NeoBellcd AWS
# Follow the setup instructions in AWS/README.md
python create_neobell_iam_boto3.py
# ... continue with other AWS setup scriptscd App/NeoBell
flutter clean
flutter pub get
# Update API endpoints in lib/core/constants/api_constants.dart
# Configure Cognito settings in lib/features/auth/core/auth_init.dart# In App/NeoBell directory
flutter runcd Firmware
# Follow firmware deployment instructions- Visitors can record and leave video messages when residents are away
- Secure video storage in AWS S3 with temporary access URLs
- Push notifications alert residents of new messages
- Message management through the mobile app
- Protected compartment with NFC-controlled access
- QR code and Data Matrix scanning for package tracking
- Integration with delivery services
- Automated notifications for package arrivals
- AI-powered facial recognition for visitor identification
- Permission system for different types of visitors
- Voice intent recognition for hands-free interaction
- Real-time device monitoring and control
- User management for multi-resident properties
- Activity logs and security monitoring
- Customizable notification preferences
- Framework: Flutter 3.7.0+
- Language: Dart
- State Management: BLoC/Cubit pattern
- Navigation: GoRouter
- Authentication: AWS Amplify (Cognito)
- Platform: AWS Serverless
- Language: Python 3.8+ with Boto3
- Architecture: Event-driven microservices
- Database: DynamoDB (NoSQL)
- Storage: S3 (Videos, Images)
- Communication: IoT Core (MQTT), API Gateway (REST)
- Device: Radxa Rock 5C
- OS: Linux-based
- AI: Local processing for facial recognition
- Connectivity: Wi-Fi
- Sensors: Camera, microphone, speakers, NFC reader
- End-to-end Encryption: All communications encrypted
- AWS IAM: Principle of least privilege access control
- VPC Isolation: Backend services in private subnets
- Biometric Authentication: Local device security
- Token Management: Automatic JWT refresh and validation
- Local AI Processing: Facial recognition performed on-device
- Temporary URLs: Time-limited access to media files
- Data Encryption: SSE-S3 enabled, encrypted DynamoDB
- GDPR Compliance: User data management and deletion capabilities
- π± Mobile App:
App/NeoBell/README.md - βοΈ AWS Backend:
AWS/README.md - π₯οΈ Firmware:
Firmware/README.md
- Follow Clean Architecture principles in all components
- Maintain documentation for new features and changes
- Test thoroughly before committing changes
- Use consistent coding standards across the project
- Flutter: Follow Dart style guide and use
flutter analyze - Python: Follow PEP 8 and use type hints
- Documentation: Use clear, concise language with examples
This project is proprietary software developed for the NeoBell smart residential reception system. All rights reserved.
- AWS Region: All resources created in
us-east-1 - Costs: Monitor AWS usage to avoid unexpected charges
- Credentials: Never commit AWS credentials or API keys
- Testing: Use mock data scripts for development
- Security: Review all IAM policies before production
- Monitoring: Enable CloudWatch logging and monitoring
- Backup: Ensure DynamoDB Point-in-Time Recovery is enabled
- Updates: Test firmware updates in development environment first
NeoBell - Transforming home security and visitor interaction through intelligent technology.
Securely connected. Simply Home.
