Skip to content

AI-powered chatbot platform with Next.js frontend, FastAPI backend, Azure OpenAI integration, and vector search. Full-stack portfolio project deployed on Azure.

Notifications You must be signed in to change notification settings

omerakben/tuel-ai-chatbot

Repository files navigation

Tuel AI Chatbot Monorepo

This repository contains both the customer-facing Next.js application and the FastAPI backend for the Tuel AI Chatbot Builder.

Project structure

Path Description
chatbot-frontend/ Next.js 15 + TypeScript application
chatbot-backend/ FastAPI 0.115 service with SQLAlchemy and Alembic
.github/workflows/ci.yml Continuous integration pipeline
docker-compose.yml Local production-like stack

Requirements

  • Node.js 20 (nvm use will read .nvmrc)
  • npm 10 (enabled by .npmrc)
  • Python 3.11 (pyenv local reads .python-version)
  • Docker 24+ (optional, for container builds)
  • pre-commit 3.x

Get started

Frontend

cd chatbot-frontend
npm ci
npm run dev

Key scripts:

Script Purpose
npm run lint ESLint with Prettier integration
npm run type-check TypeScript project type check
npm run dead-code knip dead/unused code scan
npm run test Playwright suite (skips when env not set)
npm run build Production build

Backend

cd chatbot-backend
python -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install .[dev]
uvicorn app.main:app --reload

Quality gates:

Command Purpose
ruff check . Linting
black --check . Formatting validation
mypy Type check (targeted modules)
pytest -q Unit tests
python -m build Build distributable wheel/sdist

Docker compose

docker compose up --build

Each service exposes a healthcheck so Compose waits for readiness.

Continuous integration

The GitHub Actions workflow runs linting, type-checking, tests and build steps for both applications. Artifacts are uploaded for inspection (frontend-build and backend-dist).

Pre-commit hooks

Install once after cloning:

pre-commit install

Hooks execute ruff + black on backend files and lint-staged (ESLint + Prettier) on frontend sources before each commit.

Production deployment

See DEPLOYMENT.md for detailed deployment instructions.

License

MIT

About

AI-powered chatbot platform with Next.js frontend, FastAPI backend, Azure OpenAI integration, and vector search. Full-stack portfolio project deployed on Azure.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published