π§ AI-powered personalised learning companion for Nigeria's 3MTT program β Groq Llama 3.3, Flask, React, MongoDB
# π§ 3MTT Compass AI β Personalised Learning Pathfinder
> **AI-powered learning companion for Nigeria's 3MTT program**
> React + TypeScript frontend Β· Flask + MongoDB backend Β· Groq Llama 3.3 AI
π **Live:** 3mtt-compass-ai.vercel.app
π€ **AI:** Groq Llama 3.3 70B (fast, free tier available)
---
## π What's Inside
| Feature | Status | Notes |
|---|---|---|
| π€ Compass AI Chat | β
Real AI | Groq Llama 3.3 Β· context-aware |
| π‘ Smart Recommendations | β
Real AI | Track + level personalised |
| π AI Learning Insights | β
Real AI | Progress score, strengths, gaps |
| π Semantic Search | β
Real AI | Natural language content search |
| π― Assessment Analysis | β
Real AI | AI determines skill level |
| π Landing Page | β
New | Public homepage before login |
| π JWT Auth | β
Live | MongoDB Atlas |
| π 12 Learning Tracks | β
| All 3MTT tracks covered |
| π Achievement System | β
| Points, badges, milestones |
---
## βοΈ Environment Variables (Required)
### Backend (`backend/.env`)
```
MONGO_URI=mongodb+srv:// : @
cluster.mongodb.net
SECRET_KEY=your-long-random-jwt-secret
GROQ_API_KEY=gsk_xxxxxxxxxxxx
FLASK_ENV=production
```
### Frontend (`.env.local`)
```
VITE_API_URL=
your-backend.onrender.com
```
> β οΈ **IMPORTANT:** Never commit `.env` files. The `.gitignore` now excludes them.
---
## π Getting Your Keys
**Groq API Key (free):**
1. Go to console.groq.com
2. Sign up β API Keys β Create new key
3. Copy and add to `backend/.env` as `GROQ_API_KEY`
**MongoDB Atlas:**
1. Go to cloud.mongodb.com
2. Create a free cluster
3. Connect β Drivers β Copy connection string
4. Replace ` ` and ` ` in the string
5. Add to `backend/.env` as `MONGO_URI`
> β οΈ If your old MongoDB credentials were exposed, rotate them now:
> Atlas β Database Access β Edit user β Reset password
---
## π» Local Development
```bash
# 1. Clone
git clone
github.com
cd 3MTT-Compass-AI
# 2. Frontend
npm install
cp .env.example .env.local
# Edit β¦