D-chat is a cutting-edge decentralized chat application that combines the power of AWS cloud services with decentralized technologies to provide a secure, scalable, and intelligent communication platform.
D-chat's architecture is designed for scalability, security, and performance:
-
Data Collection
- Utilizes Selenium, BeautifulSoup (BSoup), and Python for web scraping
- Targets USDA data sources for agricultural insights
- Processes and prepares data for decentralized storage
-
Decentralized Storage
- Implements Pinata IPFS for data pinning and decentralized storage
- Ensures data availability and integrity
-
AWS Infrastructure
- EC2 Instances: Host the main application components
- Frontend:
- Built with Next.js and React
- Containerized using Docker for consistency and easy deployment
- Backend:
- Implemented in Python
- Dockerized for scalability and isolation
- Amazon Bedrock: Provides AI/ML capabilities
- Claude AI: Integrated for advanced natural language processing
- Amazon S3: Used for additional storage needs and data backups
-
Knowledge Base
- Stores and manages RAG (Retrieval-Augmented Generation) data
- Enhances chat capabilities with context-aware responses
- Decentralized data storage using IPFS technology
- AI-powered chat functionality leveraging Claude AI
- Scalable and resilient AWS-based infrastructure
- Integration of USDA agricultural data for informed discussions
- Real-time communication with end-to-end encryption
- Multi-platform support (web, mobile, desktop)
- User authentication and authorization
- Chat history and message search capabilities
- Frontend: Next.js, React, Docker
- Backend: Python, Docker
- Data Scraping: Selenium, BeautifulSoup
- Decentralized Storage: Pinata IPFS
- Cloud Services: AWS EC2, S3, Bedrock
- AI/ML: Claude AI, Amazon Bedrock
- Version Control: Git
To get started with D-chat, ensure you have the following prerequisites:
- Node.js (v14 or later)
- Python (v3.8 or later)
- Docker and Docker Compose
- AWS CLI configured with appropriate permissions
- IPFS node (for local development)
For support or inquiries, please open an issue on GitHub.