Lexiverse
Lexiverse - 영어 학습자를 위한 AI 기반 문맥 독해 엔진
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
🎓 УниПът – Платформа за Кандидат-Студенти
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Безплатна платформа, която помага на български ученици да изчислят приемния си бал, да открият подходяща кариера и да сравнят университети — всичко на едно място.
| Компонент | Технология |
|---|---|
| Frontend | React 19 + Vite 6 |
| Routing | React Router 7 (всички маршрути lazy-loaded) |
| Styling | Tailwind CSS 4 + DaisyUI (dark / nord теми) |
| Animations | Framer Motion (motion/react) — LazyMotion + domAnimation |
| 3D | Three.js via @react-three/fiber + @react-three/drei |
| Icons | Lucide React |
| Backend | Supabase (PostgreSQL + Auth + Storage) |
| Tests | Vitest + @testing-library/react |
| Маршрут | Достъп | Описание |
|---|---|---|
/ | Публичен | Начална страница |
/calculator | Публичен | Калкулатор на приемен бал |
/universities | Публичен | Търсачка на специалности |
/career-advisor | Публичен | RIASEC тест и резултати |
/dormitories | Публичен | Общежития |
/my-grades | Публичен | Управление на оценки |
/about | Публичен | За проекта |
/terms | Публичен | Условия за ползване |
/privacy | Публичен | Политика за поверителност |
/login / /register | Публичен | Автентикация |
/forgot-password / /update-password | Публичен | Смяна на парола |
/favorites | Изисква вход | Запазени специалности |
/profile | Изисква вход | Потребителски профил |
/admin | Изисква админ роля | Управление на данни |
/admin/reports | Изисква админ роля | Доклади |
Основната таблица е public.universities в Supabase:
| Колона | Тип | Описание |
|---|---|---|
id | bigint | Първичен ключ |
university_name | text | Пълно официално название |
city | text | Град |
faculty | text | Факултет / направление |
specialty | text | Специалност (с вид обучение) |
education_level | text | бакалавър / магистър |
formula_description | text | Четима формула (показва се в UI) |
coefficients | jsonb | Формула като JSONB масив от слотове |
max_ball | numeric | Максимален бал |
coefficientsМасив от слотове — за всяка алтернатива се изчислява grade × coef и се взима максимумът:
[
{"alternatives": [{"key": "exam_mat", "coef": 3}, {"key": "dzi_mat", "coef": 3}]},
{"alternatives": [{"key": "mat", "coef": 1}]},
{"alternatives": [{"key": "diploma", "coef": 1}]}
]
Ключовете са дефинирани в src/lib/coefficients_config.js — exam_* за приемни изпити, dzi_* за ДЗИ, без префикс за оценки от диплома.
Изисквания: Node.js 18+
git clone <repo-url>
cd Uni-put
npm install
Създай .env в корена:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
npm run dev # http://localhost:5173
npm run build # продукционен build
npx vitest run # тестове
src/
├── app/ # App.jsx (рутер), main.jsx
├── components/
│ ├── Auth/ # Login, Register, Profile, ForgotPassword, UpdatePassword
│ ├── Calculator/ # Calculator, GradeInputSection, ReportButton
│ ├── CareerAdvisor/# CareerAdvisor, RIASECResults
│ ├── Dormitories/
│ ├── Favorites/
│ ├── MyGrades/
│ ├── Universities/
│ ├── admin/ # AdminDashboard, AdminReports
│ ├── common/ # Header, Footer, Home, About, NotFound, ...
│ └── landing/ # AnoAI, GlobeScene (3D)
├── hooks/ # AuthContext.jsx, useTheme.js
├── lib/ # supabase.js, coefficients_config.js
├── routes/ # ProtectedRoute.jsx, AdminRoute.jsx
└── services/ # universityService.js
coefficients JSON от Supabasegrade × coef (всяка алтернатива носи собствен coef); взима се максимумътmax_ball / 2 (средният бал) — показва се индикатор "Над/Под средното" с разлика в точки