(Frontend + Backend + RAG + Ollama)
SkillSetu is a full-stack AI product that generates a personalized learning roadmap based on your goal, skills, and time availability.
It uses React (Vite + Tailwind) for UI, FastAPI for backend logic, PostgreSQL for plan storage, and Ollama (local LLM) for AI plan generation.
| Area | Features |
|---|---|
| β Authentication | JWT login/register, token stored securely, route protection |
| β Plans Dashboard | View, delete, open AI plans |
| β AI Auto Plan | Generate multi-week learning plan using Ollama |
| β System Status | Shows if token + Ollama is working |
| β RAG (optional) | Chunking, embeddings, retrieval utilities |
| β API-first | Fully documented via FastAPI swagger (/docs) |
SkillSetu/ βββ frontend/ # React + Vite + Tailwind + TS UI βββ backend/ # FastAPI backend + DB + Ollama integration βββ rag/ # RAG utilities (data ingestion, embeddings, retrieval) βββ docs/ # (optional) screenshots, diagrams βββ README.md # <--- this file
| Layer | Tech |
|---|---|
| Frontend | React + Vite + TypeScript + Tailwind CSS + Axios + React Router |
| Backend | FastAPI + PostgreSQL + SQLAlchemy + JWT Auth |
| AI Model (Local) | Ollama (llama3, mistral, or others) |
| Optional RAG | Python + embeddings + chunking |
git clone https://github.com/<YOUR_USERNAME>/SkillSetu.git cd SkillSetu
cd backend python -m venv venv
venv\Scripts\activate
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
Modify .env:
POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_DB=skillsetu POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres OLLAMA_URL=http://localhost:11434
uvicorn app.main:app --reload --port 8000
β‘οΈ API Docs: http://localhost:8000/docs
ollama serve
Pull model:
ollama pull llama3
cd frontend npm install cp .env.example .env
Set backend URL in .env:
VITE_API_BASE=http://localhost:8000
Run app:
npm run dev
β‘οΈ Frontend: http://localhost:5173
cd rag python -m venv venv source venv/bin/activate pip install -r requirements.txt cp .env.example .env
Token stored in: localStorage β skillsetu_token
Axios automatically attaches: Authorization: Bearer
401 β redirects to /login
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/auth/register |
Register user |
| POST | /auth/auth/login |
Login & return JWT |
| GET | /users/me |
Verify token |
| GET | /plans/ |
List plans |
| POST | /plans/auto |
Generate AI plan using Ollama |
| GET | /plans/{id} |
Plan detail |
| DELETE | /plans/{id} |
Delete plan |
MIT License
Made with β€οΈ by Deepak Kusumkar