Skip to content

rahimjonov-j/e-Kotiba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Online Kotiba (Fullstack AI Secretary)

Production-ready foundation for a mobile-first online secretary system with React + Express + Supabase + AI pipeline.

Stack

  • Frontend: React (Vite), JavaScript (JSX), Tailwind, shadcn-style UI, Zustand, TanStack Query
  • Backend: Node.js + Express
  • Database/Auth/Storage: Supabase PostgreSQL + Auth + Storage
  • AI: UzbekVoice STT/TTS + OpenAI
  • Deploy: Vercel (frontend) + Render/Railway (backend) + Supabase

Monorepo structure

  • frontend/: responsive admin web app
  • backend/: secure API + scheduler jobs
  • supabase/schema.sql: DB schema + RLS policies

Quick start

  1. Install dependencies:
npm install
  1. Configure env files:
  • Copy backend/.env.example -> backend/.env
  • Copy frontend/.env.example -> frontend/.env
  1. Apply Supabase SQL:
  • Run supabase/schema.sql in Supabase SQL Editor
  • Create storage bucket: reminder-audio
  1. Start both apps:
npm run dev
  • Frontend: http://localhost:5173
  • Backend: http://localhost:8080

Environment variables

Backend (backend/.env)

  • PORT
  • APP_ORIGIN
  • CORS_ORIGINS
  • SUPABASE_URL
  • SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY
  • OPENAI_API_KEY
  • OPENAI_MODEL
  • UZBEKVOICE_STT_URL
  • UZBEKVOICE_STT_API_KEY
  • UZBEKVOICE_TTS_URL
  • UZBEKVOICE_TTS_API_KEY
  • TELEGRAM_BOT_TOKEN

Frontend (frontend/.env)

  • VITE_API_BASE_URL
  • VITE_SUPABASE_URL
  • VITE_SUPABASE_ANON_KEY

API response contract

Every endpoint returns:

{
  "success": true,
  "data": {},
  "message": ""
}

Implemented modules

  • Auth/profile/settings
  • Secretary pipeline (text + voice)
  • Reminders (pre-generated TTS audio URL)
  • Meetings (+auto-message job queue)
  • Clients
  • Expenses
  • Dashboard analytics + AI recommendation text
  • Admin overview
  • Cron job processor (system_jobs)

Deployment notes

  • No hardcoded URLs. Use env vars only.
  • Scheduler is backend-only (never frontend).
  • Configure CORS allowlist via CORS_ORIGINS.
  • Frontend can deploy to Vercel directly from frontend/.
  • Backend can deploy to Render/Railway from backend/ with start command:
npm start

Important production hardening checklist

  • Add Redis-backed queues (BullMQ) for high job volume
  • Add retry dead-letter table for failed jobs
  • Add Sentry/Logtail for central logging
  • Add stricter zod schemas for settings/prompt management
  • Add e2e tests for scheduler and reminder cadence correctness
  • Add signed URL strategy if audio should not be public

About

Electronic Secretary — your new assistant. It will remind you of all your meetings and tasks using just your voice, and it automatically analyzes what you say and adds it to reminders and meetings.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages