How prag-18/skilloop works
SkillLoop is a campus skill-exchange platform: students create accounts, list skills they teach or want to learn, add expertise evidence, find complementary peers, send learning requests, and earn skill credits. The React app routes users through those activities and calls a FastAPI API backed by SQLAlchemy models and a relational database. The README documents the broad feature set, but sampled backend implementation is limited mainly to startup and authentication; feature-router internals and their exact data flows are therefore represented cautiously.
Main entry points: main.py FastAPI application · AppRoutes.jsx Page routing · api.js HTTP API client · App.jsx Application shell
Components 23
Web application
- Application shell
src/App.jsx - Page routing
src/routes/AppRoutes.jsx - Dashboard
src/pages/Dashboard.jsx - HTTP API client
src/services/api.js
Identity and profiles
- Auth context
src/context/AuthContext.jsx - Login and register
src/pages/Login.jsx - Student profile
src/pages/SkillProfile.jsx - Authentication API
backend/app/routers/auth.py - Authentication service
backend/app/services/auth_service.py
Skills and discovery
- Skill taxonomy picker
src/components/skills/SkillPicker.jsx - Skill evidence
src/components/skills/EvidenceUploader.jsx - Peer discovery
src/pages/Discover.jsx - Skills API
backend/app/routers/skills.py - Evidence API
backend/app/routers/evidence.py - Discovery API
backend/app/routers/discover.py - Recommendations
backend/app/services/recommendation.py
Learning exchange
- Learning requests
src/pages/Requests.jsx - Requests API
backend/app/routers/requests.py - Exchanges API
backend/app/routers/exchanges.py
API and persistence
- FastAPI application
backend/app/main.py - Health API
backend/app/routers/health.py - SQLAlchemy database
backend/app/db/database.py
Other components
- Student
Connections 23
- Student → Application shell: uses
- Application shell → Auth context: provides state
- Application shell → Page routing: renders routes
- Page routing → Login and register: routes to
- Page routing → Student profile: routes to
- Page routing → Dashboard: routes to
- Page routing → Peer discovery: routes to
- Page routing → Learning requests: routes to
- Auth context → HTTP API client: calls auth API
- Skill taxonomy picker → HTTP API client: requests taxonomy
- Skill taxonomy picker → HTTP API client: submits skill
- FastAPI application → Authentication API: dispatches
- FastAPI application → Skills API: dispatches
- FastAPI application → Evidence API: dispatches
- FastAPI application → Discovery API: dispatches
- FastAPI application → Requests API: dispatches
- FastAPI application → Exchanges API: dispatches
- FastAPI application → Health API: dispatches
- Authentication API → Authentication service: calls
- Authentication service → SQLAlchemy database: queries and writes
- FastAPI application → SQLAlchemy database: creates tables
- HTTP API client → FastAPI application: sends requests
- Discovery API → Recommendations: uses