{"id":41274766,"url":"https://github.com/madebyaris/bantuaku","last_synced_at":"2026-01-23T02:30:44.623Z","repository":{"id":327533739,"uuid":"1107361608","full_name":"madebyaris/bantuaku","owner":"madebyaris","description":"AI-Chat-First Forecasting Assistant untuk UMKM Indonesia. Sales forecasting, market prediction, marketing recommendations, dan government regulations melalui conversational AI (Kolosal.ai)","archived":false,"fork":false,"pushed_at":"2025-12-06T07:58:37.000Z","size":12699,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-07T12:14:03.290Z","etag":null,"topics":["ai","business-analytics","chatbot","forecasting","go","hackathon","indonesia","kolosal-ai","postgresql","react","saas","umkm"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/madebyaris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-01T03:05:16.000Z","updated_at":"2025-12-02T19:22:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/madebyaris/bantuaku","commit_stats":null,"previous_names":["madebyaris/bantuaku"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/madebyaris/bantuaku","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyaris%2Fbantuaku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyaris%2Fbantuaku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyaris%2Fbantuaku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyaris%2Fbantuaku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madebyaris","download_url":"https://codeload.github.com/madebyaris/bantuaku/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebyaris%2Fbantuaku/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28678484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T01:00:35.747Z","status":"online","status_checked_at":"2026-01-23T02:00:08.296Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","business-analytics","chatbot","forecasting","go","hackathon","indonesia","kolosal-ai","postgresql","react","saas","umkm"],"created_at":"2026-01-23T02:30:44.516Z","updated_at":"2026-01-23T02:30:44.597Z","avatar_url":"https://github.com/madebyaris.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bantuaku SaaS\n\n**AI-Chat-First Forecasting Assistant untuk UMKM Indonesia**\n\n![Bantuaku](https://img.shields.io/badge/Status-Hackathon%20MVP-purple)\n![Go](https://img.shields.io/badge/Backend-Go%201.25-00ADD8)\n![React](https://img.shields.io/badge/Frontend-React%2018-61DAFB)\n![PostgreSQL](https://img.shields.io/badge/Database-PostgreSQL%2018-336791)\n![Kolosal.ai](https://img.shields.io/badge/AI-Kolosal.ai-blue)\n![CodeRabbit Reviews](https://img.shields.io/coderabbit/prs/github/madebyaris/bantuaku?utm_source=oss\u0026utm_medium=github\u0026utm_campaign=madebyaris%2Fbantuaku\u0026labelColor=171717\u0026color=FF570A\u0026link=https%3A%2F%2Fcoderabbit.ai\u0026label=CodeRabbit+Reviews)\n\n## 🎯 Overview\n\nBantuaku adalah platform SaaS yang membantu UMKM Indonesia membuat keputusan bisnis berbasis data melalui **AI chat sebagai interface utama**. Platform ini mengumpulkan informasi bisnis secara conversational dan menghasilkan insights praktis.\n\n### 🖼️ Visual Showcase\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003e✨ Modern \"Neon Finance\" UI Design ✨\u003c/h3\u003e\n  \n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003cb\u003eDashboard\u003c/b\u003e\u003cbr/\u003e\n        \u003cimg src=\"gh-assets/dashboard.png\" alt=\"Dashboard\" width=\"400\"/\u003e\n        \u003cp\u003e\u003csmall\u003eComprehensive business overview with KPIs, charts, and quick actions\u003c/small\u003e\u003c/p\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003cb\u003eLogin Page\u003c/b\u003e\u003cbr/\u003e\n        \u003cimg src=\"gh-assets/login-page.png\" alt=\"Login Page\" width=\"400\"/\u003e\n        \u003cp\u003e\u003csmall\u003eBeautiful split-screen design with tech animations\u003c/small\u003e\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd colspan=\"2\" align=\"center\"\u003e\n        \u003cb\u003eMobile Chat Experience\u003c/b\u003e\u003cbr/\u003e\n        \u003cimg src=\"gh-assets/mobile-chat.png\" alt=\"Mobile Chat\" width=\"300\"/\u003e\n        \u003cp\u003e\u003csmall\u003eFloating chat widget with seamless mobile navigation\u003c/small\u003e\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n## ✨ Fitur Utama\n\n### 🤖 AI Assistant Chat\n- **Conversational Interface** - Chat dengan AI untuk mengumpulkan data bisnis (powered by Kolosal.ai)\n- **Floating Chat Widget** - Akses cepat AI Assistant dari halaman manapun\n- **File Upload Support** - Upload CSV, XLSX, atau PDF untuk ekstraksi data otomatis (OCR powered by Kolosal.ai)\n- **Conversation History** - Riwayat percakapan tersimpan dan dapat diakses kapan saja\n\n### 📊 Forecast\n- **Sales Projections** - Proyeksi penjualan 30/60/90 hari ke depan berdasarkan data penjualan yang diinput user\n- **Interactive Charts** - Visualisasi trend historis vs prediksi AI dengan AreaChart\n- **Confidence Metrics** - Tingkat akurasi prediksi ditampilkan dengan jelas\n- **AI Insights Panel** - Rekomendasi strategis berdasarkan analisis forecast\n\n### 🌍 Market Prediction\n- **Local \u0026 Global Trends** - Prediksi tren pasar lokal (Indonesia) dan global untuk produk Anda\n- **Trending Products** - Daftar produk yang sedang naik daun dengan growth metrics\n- **Market Intelligence** - Analisis kompetisi dan peluang pasar\n- **Interactive Tabs** - Switch antara analisis lokal dan global dengan mudah\n\n### 📢 Marketing Recommendation\n- **Personalized Strategies** - Rekomendasi kampanye marketing yang dipersonalisasi\n- **Multi-Channel Approach** - Strategi untuk Social Media, Email, dan Paid Ads\n- **Campaign Performance** - Estimasi dampak dan ROI untuk setiap rekomendasi\n- **Content Generation** - Generate konten iklan dengan AI\n\n### ⚖️ Government Regulation\n- **Compliance Dashboard** - Monitor status kepatuhan bisnis terhadap regulasi terbaru\n- **Regulation Alerts** - Notifikasi untuk peraturan urgent yang perlu perhatian\n- **Compliance Score** - Skor kepatuhan bisnis dengan breakdown detail\n- **Action Items** - Daftar peraturan yang perlu ditindaklanjuti\n\n### 🔔 Smart Notifications\n- **Real-time Updates** - Notifikasi untuk forecast selesai, update regulasi, dan tren pasar baru\n- **Priority Indicators** - Badge untuk notifikasi urgent dan penting\n- **Dark Glass UI** - Desain modern dengan dark glass mode untuk readability optimal\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Docker \u0026 Docker Compose\n- Node.js 20+ (untuk development)\n- Go 1.25+ (untuk development)\n\n### Running with Docker\n\n```bash\n# Clone repository\ngit clone https://github.com/your-org/bantuaku.git\ncd bantuaku\n\n# Start all services\nmake dev\n\n# Or manually:\ndocker-compose up --build\n```\n\nAplikasi akan berjalan di:\n- **Frontend**: http://localhost:3000\n- **Backend API**: http://localhost:8080\n- **PostgreSQL**: localhost:5432\n- **Redis**: localhost:6379\n\n### Demo Account\n\n```\nEmail: demo@bantuaku.id\nPassword: demo123\n```\n\n## 📁 Project Structure\n\n```\nbantuaku/\n├── backend/                    # Go backend API\n│   ├── config/                 # Configuration\n│   ├── handlers/               # HTTP handlers\n│   │   ├── chat.go            # Chat \u0026 conversation handlers\n│   │   ├── files.go           # File upload handlers\n│   │   ├── insights.go        # Insights generation handlers\n│   │   ├── dashboard.go       # Dashboard summary handler\n│   │   └── companies.go       # Company profile handlers\n│   ├── middleware/             # Auth, CORS, logging\n│   ├── models/                 # Data models\n│   │   ├── company.go         # Company \u0026 CompanyProfile\n│   │   ├── conversation.go    # Conversation \u0026 Message\n│   │   ├── file_upload.go     # FileUpload \u0026 ExtractedData\n│   │   ├── data_source.go     # DataSource\n│   │   └── insight.go         # Insight \u0026 result types\n│   ├── services/               # Business logic\n│   │   ├── kolosal/           # Kolosal.ai client (Chat \u0026 OCR)\n│   │   ├── storage/            # Database \u0026 Redis\n│   │   ├── chat/               # Chat service (TODO)\n│   │   ├── ingestion/         # File processing service (TODO)\n│   │   ├── forecasting/       # Forecast service (TODO)\n│   │   ├── connectors/        # External data connectors (TODO)\n│   │   └── insights/          # Insights generation (TODO)\n│   └── main.go\n├── frontend/                   # React frontend\n│   ├── src/\n│   │   ├── components/        # UI components\n│   │   │   ├── layout/       # Layout components (Sidebar, Header)\n│   │   │   ├── chat/         # Chat components (ChatInterface, ChatWidget)\n│   │   │   └── ui/           # shadcn/ui components\n│   │   ├── pages/             # Page components\n│   │   │   ├── AIChatPage.tsx        # AI Chat interface\n│   │   │   ├── DashboardPage.tsx     # Dashboard overview\n│   │   │   ├── ForecastPage.tsx      # Forecast insights\n│   │   │   ├── MarketPredictionPage.tsx  # Market predictions\n│   │   │   ├── MarketingPage.tsx     # Marketing recommendations\n│   │   │   └── RegulationPage.tsx    # Government regulations\n│   │   ├── state/             # State management (Zustand)\n│   │   │   ├── auth.ts       # Authentication state\n│   │   │   └── chat.ts       # Chat state (messages, loading)\n│   │   └── lib/               # Utilities \u0026 API clients\n│   └── package.json\n├── database/\n│   └── migrations/            # SQL migrations\n│       └── 003_add_chat_tables.sql  # Chat, ingestion, insights tables\n├── gh-assets/                 # GitHub assets (screenshots)\n│   ├── dashboard.png\n│   ├── login-page.png\n│   └── mobile-chat.png\n├── .docs-private/              # Product \u0026 technical documentation\n├── docker-compose.yml\n├── .env.example                # Environment variables template\n└── Makefile\n```\n\n## 🔧 Development\n\n### Backend (Go)\n\n```bash\ncd backend\ngo mod download\ngo run main.go\n```\n\n### Frontend (React)\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n### Environment Variables\n\nCopy the example environment file and configure it:\n\n```bash\n# Copy the example file\ncp .env.example .env\n\n# Edit .env and add your values (especially KOLOSAL_API_KEY)\n# See .env.example for all available configuration options\n```\n\n**Required variables:**\n- `KOLOSAL_API_KEY` - Get from https://api.kolosal.ai (optional for basic features)\n- `JWT_SECRET` - Generate with: `openssl rand -base64 32` (change from default!)\n\n**Quick setup:**\n```env\n# Minimum required for local development\nKOLOSAL_API_KEY=your-api-key-here\nJWT_SECRET=your-secure-secret-here\n```\n\nSee `.env.example` for complete configuration options and documentation.\n\n## 📚 API Endpoints\n\n### Authentication\n- `POST /api/v1/auth/register` - Register new user\n- `POST /api/v1/auth/login` - Login\n\n### Chat \u0026 Conversations (AI-First Interface)\n- `POST /api/v1/chat/start` - Start new conversation\n- `POST /api/v1/chat/message` - Send message to AI assistant\n- `GET /api/v1/chat/conversations` - List all conversations\n- `GET /api/v1/chat/messages` - Get messages from a conversation\n\n### File Uploads\n- `POST /api/v1/files/upload` - Upload CSV/XLSX/PDF files (with OCR processing)\n- `GET /api/v1/files/{id}` - Get file upload information\n- `GET /api/v1/files` - List all file uploads\n\n### Insights (Four Outcome Types)\n- `POST /api/v1/insights/forecast` - Generate forecast insights\n- `POST /api/v1/insights/market` - Generate market prediction insights\n- `POST /api/v1/insights/marketing` - Generate marketing recommendations\n- `POST /api/v1/insights/regulation` - Generate government regulation insights\n- `GET /api/v1/insights` - Get insight history\n\n### Companies\n- `GET /api/v1/companies` - List user's companies\n- `GET /api/v1/companies/{id}` - Get company profile (aggregated data)\n\n### Dashboard\n- `GET /api/v1/dashboard/summary` - Get dashboard KPIs and summaries\n\n### Legacy AI (Deprecated)\n- `POST /api/v1/ai/analyze` - Legacy AI analyze endpoint\n\n## 🎨 Tech Stack\n\n| Component | Technology |\n|-----------|-----------|\n| Backend | Go 1.25 (net/http) |\n| Frontend | React 18 + Vite + TypeScript + Tailwind CSS |\n| UI Components | shadcn/ui (Radix UI primitives) |\n| State Management | Zustand |\n| Charts | Recharts |\n| Database | PostgreSQL 18 |\n| Cache | Redis 7 |\n| AI | Kolosal.ai (Chat \u0026 OCR) |\n| Deployment | Docker \u0026 Docker Compose |\n\n## 📊 Features\n\n### MVP (Hackathon) - AI-Chat-First Architecture\n\n#### ✅ Core Features\n- ✅ **AI Chat Interface** - Conversational data collection in Bahasa Indonesia\n- ✅ **Floating Chat Widget** - Persistent chat button accessible from any page\n- ✅ **File Upload \u0026 OCR** - CSV/XLSX/PDF upload with automatic text extraction (Kolosal.ai OCR)\n- ✅ **Forecast Insights** - 30/60/90-day sales forecasting with interactive charts\n- ✅ **Market Prediction** - Local (Indonesia) and global market trend analysis\n- ✅ **Marketing Recommendations** - AI-generated campaign ideas and strategies\n- ✅ **Government Regulations** - Indonesia-specific regulatory information with compliance tracking\n- ✅ **Company Profile** - Aggregated business data from all sources\n- ✅ **Dashboard** - Comprehensive overview with KPIs, charts, and quick actions\n- ✅ **Smart Notifications** - Real-time updates with priority indicators\n\n#### ✅ UI/UX Enhancements\n- ✅ **\"Neon Finance\" Design System** - Modern dark theme with emerald accents\n- ✅ **Glassmorphism Effects** - Beautiful glass-like UI elements\n- ✅ **Responsive Design** - Optimized for desktop and mobile devices\n- ✅ **Smooth Animations** - Fade-in, slide transitions, and hover effects\n- ✅ **Mobile Navigation** - Hamburger menu with slide-out sidebar\n- ✅ **Matrix Background** - Tech animation effects on AI Chat page\n\n### Roadmap\n- [ ] **External Data Connectors** - Tokopedia, Shopee, Bukalapak marketplace scraping\n- [ ] **Google Trends Integration** - Real-time market trend data\n- [ ] **Regulation Scraper** - Automated peraturan.go.id monitoring\n- [ ] **Advanced Forecasting** - ML-based time-series forecasting\n- [ ] **Mobile App** - React Native mobile application\n- [ ] **Billing \u0026 Subscriptions** - 3-tier pricing (Free, Pro, Enterprise)\n- [ ] **Multi-Company Management** - Support for multiple businesses per user\n- [ ] **Export Reports** - PDF/Excel export for forecasts and insights\n\n## 🏗️ Architecture\n\n### High-Level Architecture\n\n```\n┌─────────────┐     ┌─────────────────────────────────────┐     ┌─────────────┐\n│   Frontend  │────▶│           Backend (Go)              │────▶│  PostgreSQL │\n│   (React)   │     │  ┌─────────┐  ┌─────────┐         │     │             │\n│             │     │  │  Chat   │  │Ingestion│         │     └─────────────┘\n│  - AI Chat  │     │  │ Service │  │ Service │         │\n│  - Forecast │     │  └─────────┘  └─────────┘         │     ┌─────────────┐\n│  - Market   │     │  ┌─────────┐  ┌─────────┐         │────▶│   Redis     │\n│  - Marketing│     │  │Forecast │  │Connector│         │     │   (Cache)   │\n│  - Regulation│    │  │ Service │  │ Service │         │     └─────────────┘\n│  - Dashboard│     │  └─────────┘  └─────────┘         │\n│  - Widget   │     │  ┌─────────┐                       │     ┌─────────────┐\n└─────────────┘     │  │ Insights│                       │────▶│ Kolosal.ai  │\n                    │  │ Service │                       │     │  (Chat+OCR) │\n                    │  └─────────┘                       │     └─────────────┘\n                    └─────────────────────────────────────┘\n```\n\n### Key Components\n\n- **Chat Service** - Handles AI conversations and message history\n- **Ingestion Service** - Processes file uploads (CSV/XLSX/PDF) with OCR\n- **Forecast Service** - Generates sales forecasts based on user-provided sales data\n- **Connector Service** - External data sources (marketplaces, trends, regulations)\n- **Insights Service** - Generates four types of insights (forecast, market, marketing, regulation)\n\n### Frontend Architecture\n\n- **Component-Based** - Reusable UI components with shadcn/ui\n- **State Management** - Zustand for global state (auth, chat)\n- **Routing** - React Router for navigation\n- **Styling** - Tailwind CSS with custom \"Neon Finance\" theme\n- **Charts** - Recharts for data visualization\n\n## 🌟 How It Works\n\n1. **Start Chat** - User begins conversation with AI Assistant (via floating widget or dedicated page)\n2. **Data Collection** - AI asks about company, products, location, business model\n3. **File Upload** - User can upload CSV/XLSX/PDF files for automatic data extraction\n4. **Profile Building** - System builds comprehensive Company Profile from conversations and files\n5. **Generate Insights** - User navigates to four outcome pages:\n   - **Forecast** - Sales projections with interactive charts (generated if user provides sales data via chat or file upload)\n   - **Market Prediction** - Local and global market trends with trending products\n   - **Marketing Recommendation** - Campaign ideas and strategies with performance estimates\n   - **Government Regulation** - Relevant Indonesian regulations with compliance tracking\n6. **Dashboard Overview** - Centralized view of all KPIs, recent conversations, insights, and file uploads\n\nAll powered by **Kolosal.ai** for natural language understanding and OCR processing.\n\n## 📝 License\n\nApache License 2.0 - see [LICENSE](LICENSE) file for details.\n\n## 🔒 Security\n\nWe take security seriously. Please see our [Security Policy](.github/SECURITY.md) for details on how to report vulnerabilities.\n\n### Security Scanning\n\nThis repository uses automated security scanning:\n\n- **CodeQL** - Static code analysis for security vulnerabilities\n- **CodeRabbit** - AI-powered code reviews for security and quality\n- **Dependency Review** - PR dependency scanning\n- **Security Workflows** - npm audit and Go security scanners\n\nTo enable these features:\n1. Go to your repository **Settings** → **Code security and analysis**\n2. Enable **Code scanning** (CodeQL)\n3. Enable **Secret scanning**\n4. Install **CodeRabbit** GitHub App (see [CodeRabbit Setup Guide](.github/CODERABBIT_SETUP.md))\n\nAll security workflows are configured in `.github/workflows/` and will run automatically on push and pull requests.\n\n**Note**: Dependabot is disabled. Dependency updates are managed manually or through CodeRabbit reviews.\n\n## 🤖 Code Review with CodeRabbit\n\nWe use [CodeRabbit](https://coderabbit.ai) for AI-powered code reviews that complement our security scanning tools.\n\n### Features\n\n- **AI-Powered Reviews** - Context-aware code analysis for Go and React/TypeScript\n- **Automated PR Summaries** - Quick understanding of changes\n- **Line-by-Line Suggestions** - Detailed feedback on code quality and best practices\n- **Natural Language Chat** - Ask questions about code changes directly in PRs\n- **Cursor IDE Integration** - Real-time code reviews in your editor\n\n### Configuration\n\nCodeRabbit is configured via `.coderabbit.yaml` with:\n- Go backend review guidelines (error handling, security, concurrency)\n- React/TypeScript frontend review guidelines (performance, accessibility, type safety)\n- Path filters to focus on source code\n- Integration with ESLint and Gitleaks\n\nSee [CodeRabbit Setup Guide](.github/CODERABBIT_SETUP.md) for detailed setup instructions.\n\n## 👥 Team\n\n**Enggan Ngoding, Pecut AI**\n\nBuilt with ❤️ for IMPHNEN x Kolosal.ai Hackathon 2025\n\n### Team Members\n\n- [@madebyaris](https://github.com/madebyaris)\n- [@tobangado69](https://github.com/tobangado69)\n\n---\n\n**Bantuaku** - Membantu UMKM Indonesia tumbuh dengan AI dan data 🇮🇩\n\n---\n\n## 🙏 Acknowledgments\n\n- **Kolosal.ai** - For providing powerful AI chat and OCR capabilities\n- **CodeRabbit** - For AI-powered code reviews and quality assurance\n- **shadcn/ui** - For beautiful, accessible UI components\n- **Recharts** - For elegant data visualization\n- **Tailwind CSS** - For rapid UI development\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadebyaris%2Fbantuaku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadebyaris%2Fbantuaku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadebyaris%2Fbantuaku/lists"}