Logo Lanfrica

dawit-shewangzaw/Amharic-AI

Domain:

natural language processing

Record type:

software
Creator:
daw
Host:
# Amharic AI Assistant A web-based AI assistant for Amharic speakers. Ask questions in Amharic and receive responses in Ethiopic script (ፊደል). ## Some Images :- ## Stack - **Frontend:** Next.js, TypeScript, TailwindCSS, Zustand, Better Auth client - **Backend:** NestJS, Prisma, PostgreSQL, Better Auth, Google Gemini AI - **Deployment:** Vercel (frontend), Railway (backend + database) ## Project structure ``` Amharic-AI/ ├── frontend/ # Next.js app (port 3000) ├── backend/ # NestJS API (port 4000) └── .env.example ``` ## Prerequisites - Node.js 20+ - PostgreSQL (local install) - Google Gemini API key (free from Google AI Studio) ## Setup ### 1. Database Create a PostgreSQL database: ```sql CREATE DATABASE amharic_ai; ``` ### 2. Backend ```bash cd backend cp ../.env.example .env # Edit .env with your DATABASE_URL, BETTER_AUTH_SECRET, OPENAI_API_KEY npm install npx prisma migrate dev --name init npm run start:dev ``` Backend runs at `localhost`. **Postman testing:** See backend/docs/POSTMAN.md for all endpoints, bodies, and expected responses. ### 3. Frontend ```bash cd frontend cp ../.env.example .env.local # Uses NEXT_PUBLIC_API_URL=localhost by default npm install npm run dev ``` Frontend runs at `localhost`. ## Environment variables See .env.example for all required variables. | Variable | Where | Description | |----------|-------|-------------| | `DATABASE_URL` | backend | PostgreSQL connection string | | `BETTER_AUTH_SECRET` | backend | Random 32+ character secret | | `BETTER_AUTH_URL` | backend | Backend URL in dev (`localhost`) | | `GEMINI_API_KEY` | backend | Free key from Google AI Studio | | `AI_PROVIDER` | backend | `gemini` (default) or `openai` | | `OPENAI_API_KEY` | backend | Only if `AI_PROVIDER=openai` | | `FRONTEND_URL` | backend | Frontend origin for CORS | | `NEXT_PUBLIC_API_URL` | frontend | Backend API URL | ## Features - Register / login / logout (Better Auth) - Mul …