✨ Major Features Added: - AI Chat with conversation memory and university-specific knowledge base - Multi-tenant university support with white-label capabilities - Professional admin interface for knowledge base management - Advanced database schema with Prisma ORM - Comprehensive documentation and guides - Modern Next.js 15 + React 19 architecture - Bilingual support (English/Arabic) - Role-based access control - Real-time chat interface with loading states 🔧 Technical Improvements: - Fixed all linter errors and TypeScript issues - Cleaned up codebase and removed legacy files - Added comprehensive .gitignore - Updated README with detailed setup instructions - Optimized database schema and migrations - Enhanced error handling and user experience 📚 Documentation: - AI Conversation Memory Guide - AI Enhancement Summary - Developer Guide - User Guide - Complete setup and deployment instructions 🚀 Ready for GitHub deployment and production use!
70 lines
1.8 KiB
JSON
70 lines
1.8 KiB
JSON
{
|
|
"name": "university-portal",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev --turbopack",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"db:seed": "npx tsx prisma/seed.ts",
|
|
"seed:knowledge-base": "npx tsx scripts/seed-knowledge-base.ts",
|
|
"test:chat": "tsx scripts/testChatbot.ts",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"setup:ollama": "./scripts/setup-ollama.sh"
|
|
},
|
|
"prisma": {
|
|
"seed": "npx tsx prisma/seed.ts"
|
|
},
|
|
"dependencies": {
|
|
"@heroicons/react": "^2.2.0",
|
|
"@hookform/resolvers": "^5.1.1",
|
|
"@langchain/openai": "^0.5.18",
|
|
"@prisma/client": "^6.11.1",
|
|
"@supabase/auth-helpers-nextjs": "^0.10.0",
|
|
"@supabase/auth-ui-react": "^0.4.7",
|
|
"@supabase/auth-ui-shared": "^0.1.8",
|
|
"@supabase/ssr": "^0.6.1",
|
|
"@supabase/supabase-js": "^2.50.4",
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/jsonwebtoken": "^9.0.10",
|
|
"@types/k6": "^1.1.1",
|
|
"@types/redis": "^4.0.10",
|
|
"@types/uuid": "^10.0.0",
|
|
"axios": "^1.10.0",
|
|
"bcryptjs": "^3.0.2",
|
|
"dotenv": "^17.2.0",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"k6": "^0.0.0",
|
|
"langchain": "^0.3.29",
|
|
"lucide-react": "^0.525.0",
|
|
"next": "15.3.5",
|
|
"next-intl": "^4.3.4",
|
|
"ollama": "^0.5.16",
|
|
"openai": "^5.8.3",
|
|
"prisma": "^6.11.1",
|
|
"react": "^19.0.0",
|
|
"react-cookie": "^8.0.1",
|
|
"react-dom": "^19.0.0",
|
|
"react-hook-form": "^7.60.0",
|
|
"recharts": "^3.1.0",
|
|
"redis": "^5.6.0",
|
|
"uuid": "^11.1.0",
|
|
"zod": "^3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/eslintrc": "^3",
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "15.3.5",
|
|
"tailwindcss": "^4",
|
|
"tsx": "^4.20.3",
|
|
"typescript": "^5",
|
|
"vitest": "^3.2.4"
|
|
}
|
|
}
|