A scalable FastAPI backend RAG incorporating live data collection, cleaning, geo-enrichment, semantic search and pluggable LLM answer generation
# π Travel Africa β Kenya Hotel Discovery & Trip Planning RAG Assistant
A FastAPI backend that helps travelers discover hotels and plan trips across
Kenya and East Africa, powered by a fully layered Retrieval-Augmented
Generation (RAG) pipeline β from data collection to a sourced, natural-language
answer.
> **Latest release:** `v2.1.2` β see CHANGELOG.md and the
> repository's tags for the complete version history,
> including how this project evolved from a manually curated seed dataset
> to a live, API-driven scraping pipeline.
---
## Table of Contents
- Overview
- Architecture
- Features
- Project Structure
- Data Sources
- Data Cleaning
- RAG Pipeline
- Tech Stack
- Getting Started
- Configuration
- Running the Backend
- Running the Frontend Template
- API Reference
- Ethical Scraping Guidelines
- Version History
- Known Limitations & Roadmap
- Impelmentation Highlights
- Visuals
- License
---
## Overview
Travelers researching Kenya & East Africa trips have to piece together
information from many scattered sites. **Travel Africa** answers
natural-language questions by
retrieving relevant, sourced hotel data and generating a grounded answer,
rather than an LLM guessing from general knowledge.
The assistant helps with:
- π¨ Hotel discovery by location, budget, and category
- πΊοΈ Multi-day trip planning across safari, coast, and culture themes
- π¬ Natural-language Q&A with cited sources for every recommendation
---
## Architecture
The backend is organized as a strict, independently-runnable pipeline β
each layer has one job and can be re-run on its own:
```
βββββββββββββ βββββββββββββ ββββββββββββββ ββββββββββββββ ββββββββββββββββ βββββββββββ
β Scraping β β β Cleaning β β β Enrichment β β β Embeddings β β β Vector Store β β β RAG β
β β β β β β β β β β β β
βββββββββββββ βββββββββββββ ββββββββββββββ ββββββββββββββ ββββββββββββββββ βββββββββββ
app/scrapin β¦