Logo Lanfrica

Busayo25/yabatech-chatbot-api

Domain:

natural language processing

Record type:

software
Creator:
Bus
Host:
> πŸ€– A multilingual (English & Yoruba) AI chatbot for YABATECH students with login, semantic search, and mobile app support. # πŸŽ“ YabatechEduBot **YabatechEduBot** is a multilingual AI-powered chatbot built for students of **Yaba College of Technology**. It answers questions about school life, departments, course forms, directions, admission, and more β€” in **English and Yoruba**. It comes with: - πŸ” Secure login system - 🌐 Language selector (English/Yoruba) - 🧠 Semantic intent matching (understands new/unseen questions) - πŸ’¬ Chat history tracking - πŸ“± Mobile app support via REST API - βš™οΈ Web frontend using Streamlit --- ## 🧠 How It Works - Uses SentenceTransformers for semantic matching - Automatically detects intents from questions using vector similarity - Falls back to predefined responses if no match is found - Stores chat history and users in a lightweight SQLite database --- ## πŸ—‚οΈ Project Structure β”œβ”€β”€ app.py # Streamlit web app β”œβ”€β”€ chatbot.py # Chat logic with AI + DB β”œβ”€β”€ flask_api.py # API endpoint for mobile app β”œβ”€β”€ train.py # Builds embeddings from intents.json β”œβ”€β”€ intents.json # Multilingual intents and responses β”œβ”€β”€ chatbot.db # SQLite DB (users, FAQ, history) β”œβ”€β”€ requirements.txt # Required Python packages β”œβ”€β”€ .gitignore # Excludes /models/ from Git └── models/ # (Generated during deployment) yaml Copy code --- ## πŸš€ Deployment (on Render) ### Prerequisites: - Python 3.9+ - `sentence-transformers` and `streamlit` ### Render Setup: 1. Push this repo to GitHub 2. Create a new Web Service at render.com 3. Use this Start Command: ```bash python train.py && python flask_api.py Done! Your API will be available at: arduino Copy code your-subdomain.onrender.com πŸ§ͺ Testing the API Send a POST request like: json Copy code POST /chat { "message": "Where is YABATECH?", "user": "student123", "language": "en" } Response: json Copy code { "response": "YABATECH is in Yaba, Lagos." } πŸ“± Mobile App (FlutterFlow) A FlutterFlow project file is available here to build a no-code mobile chatbot app that connects directly to this API. πŸ‘¨β€πŸ’» Admin Login Default test user for loca …