Skip to content

nkostiuchenko/ai-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

159 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Chat

License Python Version GitHub repo size

AI Chat is an open‑source, real‑time AI‑powered chat application built with a modern backend (FastAPI, SQLAlchemy, Alembic) and a lightweight frontend. It demonstrates how to integrate large language models into a web‑socket based chat UI while keeping the codebase clean, testable and container‑ready.


GitHub repo size


Features

  • Pluggable AI back‑ends – swap out the LLM provider with minimal code changes.
  • Docker‑compose – one‑command local development and production setup.
  • Database migrations – powered by Alembic.
  • Typed Pythonpyproject.toml enforces static typing and linting with Ruff.
  • Extensive test suite – unit and integration tests under backend/tests/.

Getting Started

Prerequisites

  • Docker & Docker‑Compose – for containerised development.
  • Python 3.13+ – required if you prefer running the backend locally.
  • Node.js (optional) – only needed when you want to customise the frontend.

Installation

Clone the repository and initialise sub‑components:

git clone git@github.com:nkostiuchenko/ai-chat.git
cd ai-chat

Using Docker

docker compose up --build

The API will be available at http://localhost:8000 and the frontend at http://localhost:3000.


Project Structure

ai-chat/
├─ backend/                # FastAPI backend
│  ├─ src/                 # Application source code
│  ├─ tests/               # Test suite
│  ├─ alembic/             # Database migrations
│  └─ Dockerfile
├─ frontend/               # React/Vite UI
├─ docker-compose.yaml     # Multi‑service orchestration
├─ README.md               # ← This file
└─ .env.template           # Environment variables (example provided)

License

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

About

Real‑time AI chat built with a modern backend and a lightweight frontend

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors