Logo Lanfrica

lillianassefa/amharic-ai-bot

Domain:

natural language processing

Record type:

software
Creator:
lil
Host:
An Amharic AI bot for your business # amharic-ai-bot An **Amharic + English AI assistant** for businesses, with: - **Company accounts** (multi-tenant) with JWT auth - **Document upload + text extraction** (PDF/DOCX/TXT/RTF) stored per company - **AI chat** that can use uploaded documents as context - **Workflows** (built-in “mock” workflows + optional n8n webhook execution) - **Dashboard analytics** - **Real-time events** via Socket.IO ## What this project is about This repo is a full-stack app intended to help a business offer an AI assistant that can converse in **Amharic (አማርኛ)** and **English**, optionally grounded on the business’s uploaded documents. Each business (“company”) has isolated data: conversations/messages, documents, and workflows. ## Tech stack - **Backend**: Node.js + Express + TypeScript + Prisma + PostgreSQL - **AI**: OpenAI Chat Completions - **Frontend**: React + TypeScript + Vite + Tailwind - **Realtime**: Socket.IO - **Uploads**: Multer (+ `pdf-parse`, `mammoth`) ## Local development ### Prerequisites - Node.js 18+ (recommended) - PostgreSQL 13+ ### 1) Install dependencies ```bash cd /home/lillian/Documents/projects/amharic-ai-bot npm run install:all ``` ### 2) Configure environment This repo stores templates as `env.example` and `client/env.example` (some environments ignore `.env.example`). - Copy server env: ```bash cp env.example .env ``` - Copy client env: ```bash cp client/env.example client/.env.local ``` Now edit `.env` and set at least: - `DATABASE_URL` - `JWT_SECRET` - `OPENAI_API_KEY` ### 3) Set up the database ```bash npx prisma generate npx prisma migrate dev ``` ### 4) Run the app ```bash npm run dev ``` - Backend: `localhost` - Frontend (Vite): `localhost` ## Production build ```bash npm run build npm run start ``` The server serves the built frontend from `client/dist` when `NODE_ENV=production`. ## API documentation See `docs/API.md`. ## Notes / current limitations - **Public API key integration**: the UI …

Languages

Licenses