ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證An AI-powered career guidance platform that provides personalized career recommendations, learning roadmaps, resume analysis, and AI mentorship using LLMs and RAG.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗An AI-powered career guidance platform for students. It recommends career paths from an interest assessment, answers questions through an AI mentor grounded in a career knowledge base (RAG), generates learning roadmaps, finds skill gaps and reviews resumes.
| Feature | What it does |
|---|---|
| 🔐 Authentication | Register / login with bcrypt-hashed passwords and JWT tokens |
| 🎯 Career assessment | 20-question assessment across 5 parameters (interests, strengths, work style, values, academics) with weighted scoring, match strength, per-parameter insights and ranked career matches |
| 🤖 AI mentor (RAG) | Gemini-powered chat that retrieves relevant career knowledge from ChromaDB, knows the student's assessment and resume, remembers the conversation and shows its sources |
| 🛣️ Learning roadmap | Week-by-week plan (phases, goals, skills, resources, projects) for any goal |
| 📈 Skill gap analysis | Readiness score, matching skills and prioritised missing skills for a target role (can reuse resume skills) |
| 📄 Resume review | PDF upload → text extraction → AI score, strengths, improvements, section feedback, ATS tips, suggested roles |
| 📊 Dashboard | One page summary of all of the above |
Next.js + Tailwind (frontend/) http://localhost:3000
│ REST + JWT (Authorization: Bearer)
▼
FastAPI (backend/app) http://127.0.0.1:8000
api/ routes (HTTP layer, auth via Depends(get_current_user))
services/ business logic
models/ SQLAlchemy tables ──► PostgreSQL
utils/llm Gemini client ──► Google Gemini (chat, JSON, embeddings)
services/rag_service ──► ChromaDB (backend/chroma_db)
▲
datasets/career_knowledge/*.md (knowledge base)
Request flow example (AI mentor):
POST /api/v1/chat → JWT verified → mentor_service → RAG search in ChromaDB → prompt with student profile + retrieved knowledge + last 10 messages → Gemini → reply saved in chat_messages → response with sources.
gemini-3.8-flash for text/JSON, gemini-embedding-001 for embeddings), ChromaDB for vector searchcd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # then fill DATABASE_URL, SECRET_KEY, GEMINI_API_KEY
python -m app.seed # creates tables + the Career Interest Assessment
python -m app.services.rag_service # builds the ChromaDB knowledge index (optional, also auto-built on first chat)
uvicorn app.main:app --reload
API docs (Swagger): http://127.0.0.1:8000/docs
cd frontend
npm install
cp .env.example .env.local # optional, default already points to http://127.0.0.1:8000/api/v1
npm run dev # development
# or for a demo: npm run build && npm start
Open http://localhost:3000, create an account and start with the assessment.
cd backend
pip install -r requirements-dev.txt
python -m pytest -q
Tests run against a temporary SQLite database with Gemini and ChromaDB mocked, so they never touch your real data or use API credits.
/api/v1)| Method | Path | Auth | Description |
|---|---|---|---|
| POST | /users | – | Register |
| POST | /login | – | Get JWT (form fields username=email, password); 404 if no account, 401 if wrong password |
| GET | /me | ✅ | Current user |
| GET/PUT/DELETE | /users/{id} | ✅ | Get user / update or delete own account |
| GET | /assessments/ | – | List assessments |
| GET | /assessments/{id}/questions | – | Questions with options |
| POST | /assessments/answers | ✅ | Save (or change) an answer |
| GET | /assessments/{id}/answers | ✅ | My answers |
| DELETE | /assessments/{id}/answers | ✅ | Clear my answers to retake the assessment |
| GET | /assessments/{id}/result | ✅ | Completion progress |
| GET | /assessments/{id}/recommendation | ✅ | Career category scores and top careers |
| POST | /chat | ✅ | Ask the AI mentor |
| GET | /chat/history | ✅ | My conversation |
| POST | /roadmap/generate | ✅ | Generate a learning roadmap |
| GET | /roadmap, /roadmap/{id} | ✅ | My roadmaps |
| POST/GET | /skill-gap | ✅ | Analyse / list skill gap reports |
| POST | /resume/upload | ✅ | Upload PDF resume (max 5 MB) for analysis |
| GET/DELETE | /resume | ✅ |
backend/
app/
main.py FastAPI app, CORS, routers, table creation
seed.py seeds the Career Interest Assessment
api/ routes: users/auth, assessments, chat, roadmap & skill gap, resume
services/ assessment, career (scoring), mentor, rag, planner, resume, user
models/ SQLAlchemy models
schemas/ Pydantic request/response schemas
data/ assessment questions + option → category scoring rules
utils/ security (JWT, bcrypt), llm (Gemini client with retries)
tests/ pytest suite
datasets/career_knowledge/ markdown knowledge base used for RAG
frontend/src/
app/ pages: landing, login, register, (app)/dashboard, assessment, mentor, roadmap, skill-gap, resume
components/ shared UI
lib/ API client and auth context
docs/ early design notes
The Career Discovery Assessment has 20 questions in 5 parameters: Interests, Strengths & Aptitude, Work Style & Personality, Values & Motivation, and Academics & Experience. Every option gives weighted points (2 = strong signal, 1 = secondary signal) to one or more of 5 categories (Technology & Engineering, Science & Research, Social/Teaching/Healthcare, Creative Arts & Design, Business & Management).
Rules live in backend/app/data/career_assessment.py and backend/app/services/career_service.py. The older 5-question assessment is kept so earlier answers still score.
create_all; schema changes to existing tables need manual SQL or Alembic).502.Shivam Chaurasia — B.Tech CSE, IIT Bhilai GitHub: sylus-am-SHIVAM
| My resume analysis / delete it |