Skip to content

tahmidbintaslim/Bongo-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bongo AI - Bengali Study Assistant

A comprehensive Bengali study assistant for Bangladesh built with React Native (mobile + web) with desktop support via Electron/Tauri.

🎯 Features

  • Multi-Platform Support: Mobile (iOS/Android), Web, and Desktop (Electron/Tauri)
  • Bengali First: Full i18n support with Bengali (bn-BD) as the primary language
  • Offline Capability: Offline caching for seamless learning anywhere
  • AI-Powered: RAG (Retrieval-Augmented Generation) with Bengali prompts
  • Microservices Architecture: Scalable backend services
  • Data Residency: Compliant with Bangladesh data regulations

πŸ—οΈ Architecture

Frontend

  • React Native: Mobile apps (iOS/Android)
  • React Native Web (RNW): Web application
  • Electron/Tauri: Desktop applications
  • State Management: Redux/Zustand
  • Internationalization: i18n with bn-BD locale
  • Offline Support: Cache-first strategy

Backend Microservices

  • Auth Service: User authentication and authorization
  • Content Service: Educational content management
  • AI Service: RAG-based AI assistance with Bengali support
  • Analytics Service: User analytics and insights

Data Layer

  • PostgreSQL: Relational data (users, structured content)
  • Redis: Caching and session management
  • MongoDB/Firestore: Unstructured content and documents
  • S3/GCS: Media and file storage
  • Vector Store: Pinecone/Weaviate/Chroma for AI embeddings

AI/ML

  • OpenAI/Cohere: Language models with Bengali support
  • RAG: Retrieval-Augmented Generation for contextual responses
  • Vector Search: Semantic search in Bengali content

DevOps

  • CI/CD: GitHub Actions
  • Containerization: Docker
  • Infrastructure as Code: Terraform
  • Observability: Logging, metrics, and tracing
  • Data Residency: Bangladesh-compliant infrastructure

πŸ“ Project Structure

bongo-ai/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ mobile/              # React Native mobile app
β”‚   β”œβ”€β”€ web/                 # React Native Web app
β”‚   β”œβ”€β”€ desktop/             # Electron/Tauri desktop app
β”‚   └── backend/
β”‚       β”œβ”€β”€ auth-service/    # Authentication microservice
β”‚       β”œβ”€β”€ content-service/ # Content management microservice
β”‚       β”œβ”€β”€ ai-service/      # AI/RAG microservice
β”‚       β”œβ”€β”€ analytics-service/ # Analytics microservice
β”‚       └── api-gateway/     # API Gateway
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ shared/              # Shared utilities and types
β”‚   β”œβ”€β”€ ui-components/       # Shared UI components
β”‚   └── i18n/                # Internationalization
β”œβ”€β”€ infrastructure/
β”‚   β”œβ”€β”€ terraform/           # Infrastructure as Code
β”‚   β”œβ”€β”€ docker/              # Docker configurations
β”‚   └── k8s/                 # Kubernetes manifests
β”œβ”€β”€ .github/
β”‚   └── workflows/           # GitHub Actions CI/CD
└── docs/                    # Documentation

πŸš€ Getting Started

Prerequisites

  • Node.js >= 18.0.0
  • Yarn >= 1.22.0
  • Docker & Docker Compose
  • PostgreSQL 15+
  • Redis 7+
  • MongoDB 6+

Installation

  1. Clone the repository:
git clone https://github.com/tahmidbintaslim/Bongo-AI.git
cd Bongo-AI
  1. Install dependencies:
yarn install
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
  1. Start the development environment:
# Start all services with Docker
docker-compose up -d

# Or start individual services
yarn mobile          # Start mobile app
yarn web             # Start web app
yarn desktop         # Start desktop app
yarn backend:auth    # Start auth service
yarn backend:content # Start content service
yarn backend:ai      # Start AI service
yarn backend:analytics # Start analytics service

Development

# Run all tests
yarn test

# Lint code
yarn lint

# Build all packages
yarn build

πŸ”§ Configuration

Environment Variables

Create a .env file based on .env.example:

# Database
DATABASE_URL=postgresql://bongo_user:bongo_pass@localhost:5432/bongo_ai
MONGODB_URL=mongodb://bongo_user:bongo_pass@localhost:27017/bongo_ai
REDIS_URL=redis://localhost:6379

# AI Services
OPENAI_API_KEY=your_openai_api_key
COHERE_API_KEY=your_cohere_api_key
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_ENVIRONMENT=your_pinecone_environment

# Auth
JWT_SECRET=your_jwt_secret

# Storage
S3_BUCKET=your_s3_bucket
S3_REGION=ap-south-1
GCS_BUCKET=your_gcs_bucket

🌐 Internationalization

The app supports Bengali (bn-BD) as the primary language with fallback to English. All UI strings are externalized and translatable.

πŸ“± Mobile Development

# iOS
cd apps/mobile
yarn ios

# Android
cd apps/mobile
yarn android

πŸ–₯️ Desktop Development

# Electron
cd apps/desktop
yarn start:electron

# Tauri
cd apps/desktop
yarn start:tauri

πŸ§ͺ Testing

# Unit tests
yarn test

# E2E tests
yarn test:e2e

# Integration tests
yarn test:integration

🚒 Deployment

Docker

# Build all services
docker-compose build

# Deploy
docker-compose up -d

Terraform

# Initialize Terraform
yarn terraform:init

# Plan infrastructure
yarn terraform:plan

# Apply infrastructure
yarn terraform:apply

πŸ“Š Monitoring & Observability

  • Application logs: Structured JSON logging
  • Metrics: Prometheus-compatible metrics
  • Tracing: OpenTelemetry integration
  • Dashboards: Grafana dashboards

πŸ”’ Security & Compliance

  • Data residency: Bangladesh data centers
  • Encryption at rest and in transit
  • GDPR-compliant data handling
  • Regular security audits

🀝 Contributing

Contributions are welcome! Please read our Contributing Guidelines first.

πŸ“„ License

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

πŸ™ Acknowledgments

  • Built with ❀️ for students in Bangladesh
  • Bengali NLP support powered by OpenAI/Cohere
  • Community-driven educational content

πŸ“ž Support

For support, email support@bongo-ai.com or join our Slack channel.

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors