ASKA is a WhatsApp-based AI learning assistant designed to deliver an AI Bootcamp, facilitate general learning, and engage in casual conversation.
- Prerequisites
- Project Structure
- Setup Instructions
- Running the Application
- Key Scripts Overview
- Important Considerations
- Python 3.8+
pip(Python package installer)- Access to a Supabase project.
- Access to a Google Cloud Platform project.
- A Meta (Facebook) Developer account and an App configured for the WhatsApp Business API.
ngrok(or a similar tunneling service) for local development if you want to test WhatsApp webhooks.
Ensure your project files are organized as follows (this README assumes all Python scripts are in the same main directory, e.g., ASKA/):
ASKA/
├── bootcamp_lessons/ # Directory for bootcamp chapter and quiz files
│ ├── Chapter 1.txt
│ ├── Quiz 1.txt
│ ├── Answer 1.txt
│ └── ... (other chapters and quizzes)
├── main.py # FastAPI application, WhatsApp message handling
├── database.py # Supabase database interactions
├── bootcamp_manager.py # Logic for bootcamp progression, content loading
├── llm_integrations.py # DeepSeek LLM API interactions
├── state_prompts.py # Manages response templates for different states
├── config.py # Loads environment variables and configurations
├── google_sheet_to_supabase.py # Syncs data from Google Sheets to Supabase
├── requirements.txt # Python package dependencies
├── .env # Environment variables (create this file)
└── README.md # This file
Ensure all the project files (main.py, config.py, database.py, etc.) are in your chosen project directory.
It's highly recommended to use a virtual environment to manage project dependencies.
python -m venv venv