Community-driven Q&A platform for internship seekers.
- Ask and browse FAQs
- Community-driven question and answer platform
- AI-powered FAQ assistance
- Search and FAQ recommendations
- Insights and leaderboard pages
- React + Vite frontend
- Node.js backend with database support
client/ -> React frontend
server/ -> Node.js backend
research/ -> Research files and datasets
cd server
npm install
npm run seed
npm run devBackend runs on:
http://localhost:3001
cd client
npm install
npm run devFrontend runs on:
http://localhost:5173
All demo users have password: demo1234
Access the faculty dashboard at: http://localhost:5173/faculty
Faculty account:
- Email:
faculty@admin.com - Password:
faculty123
| # | Module | Status |
|---|---|---|
| 1 | Dashboard — KPI cards, AI stats, recent activity | ✅ PASS |
| 2 | Review Queue — pending questions with approve/reject | ✅ PASS |
| 3 | Question Review — per-question detail + approve/reject | ✅ PASS |
| 4 | Moderation — flag queue, resolve actions, stats | ✅ PASS |
| 5 | Intern SP Management — ledger, watchlist, anomalies, adjust, freeze | ✅ PASS |
| 6 | Tags Management — create, list, delete tags | ✅ PASS |
| 7 | Audit Log — user action history | ✅ PASS |
| 8 | Analytics — KPI, FAQ daily/monthly charts, status breakdown, throughput, moderation summary, SP distribution + leaderboard | ✅ PASS |
| 9 | Settings — threshold, workflow, moderation, SP rules, quality gates, notifications, faculty role management | ✅ PASS |
server/routes/faculty.js— 48 faculty endpointsserver/routes/analytics.js— 11 analytics endpoints (new router)server/routes/settings.js— 5 settings endpoints (new router)- Total: 64 faculty API endpoints
| Bug | Fix | File |
|---|---|---|
sp_points column doesn't exist (users has reputation) |
25 occurrences → u.reputation |
server/routes/faculty.js |
flag_type column doesn't exist (content_flags has reason) |
→ reason as flag_type; reporter_id → flagged_by |
server/routes/analytics.js |
sw.id in sp_watchlist (no id column) |
→ removed sw.id from SELECT |
server/routes/faculty.js |
upsert() throws UNIQUE constraint failed → crashes analytics/refresh |
wrapped INSERT in try/catch | server/routes/analytics.js |
navItems at module scope referencing component state (openFlags, spBadges) |
Moved navItems inside FacultyLayout component |
client/src/components/FacultyLayout.jsx |
setFrozen useState('') missing = operator |
→ const [frozen, setFrozen] = useState('') |
client/src/pages/faculty/StudentManagementPage.jsx |
ExportModal onClick handler JSX syntax error (}); } wrong order) |
Fixed to })} |
client/src/pages/faculty/StudentManagementPage.jsx |
- React
- Vite
- Tailwind CSS
- Node.js
- Express
- SQLite
- JavaScript
This repository contains the Crowd Source FAQs platform developed as part of the Vicharanashala internship project.
Refer to the LICENSE file included in this repository.