main
modified: eslint.config.mjs modified: next.config.ts new file: src/__tests__/admin-api.test.ts modified: src/__tests__/api-routes-integration.test.ts modified: src/__tests__/db-admin.test.ts new file: src/__tests__/dump-adapted.tmp.test.ts new file: src/__tests__/dump-tasks.tmp.test.ts new file: src/__tests__/dump-tasks2.tmp.test.ts modified: src/__tests__/export-utils.test.ts modified: src/__tests__/student-dashboard.test.tsx new file: src/__tests__/task-content-audit.test.ts modified: src/__tests__/teacher-api.test.ts modified: src/app/(main)/app/page.tsx modified: src/app/api/admin/analytics/student/[id]/academic-summary/route.ts modified: src/app/api/admin/analytics/student/[id]/route.ts modified: src/app/api/admin/analytics/student/[id]/streak/route.ts modified: src/app/api/admin/analytics/student/[id]/timeline/route.ts modified: src/app/api/admin/deadlines/[id]/route.ts modified: src/app/api/admin/users/[id]/ban/route.ts modified: src/app/api/admin/users/[id]/restore/route.ts modified: src/app/api/admin/users/[id]/role/route.ts modified: src/app/api/admin/users/[id]/route.ts modified: src/app/api/admin/users/[id]/unban/route.ts modified: src/app/api/performance/analytics/route.ts modified: src/app/api/performance/route.ts modified: src/app/api/sql-performance/route.ts modified: src/app/api/sql/explain/route.ts modified: src/app/api/sql/route.ts modified: src/app/api/teacher/groups/[id]/deadlines/route.ts modified: src/app/api/teacher/groups/[id]/members/route.ts modified: src/app/api/teacher/groups/[id]/notify/route.ts modified: src/app/api/teacher/groups/[id]/route.ts modified: src/app/api/teacher/groups/route.ts modified: src/app/api/teacher/student/[id]/activity/route.ts modified: src/app/api/teacher/student/[id]/route.ts modified: src/app/api/web-vitals/analytics/route.ts modified: src/components/action-bar.tsx modified: src/components/admin/analytics/achievement-analytics.tsx modified: src/components/admin/analytics/student-academic-profile.tsx modified: src/components/admin/analytics/student-detail-dialog.tsx modified: src/components/admin/analytics/time-to-complete-chart.tsx modified: src/components/admin/extended-performance-dashboard.tsx modified: src/components/admin/performance-dashboard.tsx modified: src/components/admin/system-health.tsx modified: src/components/er-diagram.tsx modified: src/components/landing-page.tsx modified: src/components/locale-selector.tsx modified: src/components/profile/achievements-grid.tsx modified: src/components/query-history.tsx modified: src/components/task-panel.tsx modified: src/components/teacher/teacher-student-dialog.tsx modified: src/components/theme-toggle.tsx modified: src/components/web-vitals.tsx modified: src/hooks/use-keyboard-shortcuts.ts modified: src/lib/api-auth.ts modified: src/lib/auth-internal.ts modified: src/lib/auth.ts modified: src/lib/db-monitor.ts modified: src/lib/db/analytics.ts deleted: src/lib/db/analytics/activity.ts deleted: src/lib/db/analytics/core.ts new file: src/lib/db/analytics/deadlines.ts new file: src/lib/db/analytics/groups.ts deleted: src/lib/db/analytics/index.ts new file: src/lib/db/analytics/notifications.ts new file: src/lib/db/analytics/reminders.ts deleted: src/lib/db/analytics/student-analytics.ts modified: src/lib/db/progress.ts modified: src/lib/db/recommendations.ts modified: src/lib/db/users.ts modified: src/lib/email.ts modified: src/lib/export-utils.ts modified: src/lib/i18n.ts modified: src/lib/logger.ts modified: src/lib/mongodb-engine.ts modified: src/lib/performance-export.ts modified: src/lib/performance-monitor.ts new file: src/lib/performance-types.ts modified: src/lib/postgresql-adapter.ts modified: src/lib/rate-limit.ts modified: src/lib/sql-engine.ts modified: src/lib/store/gamification-slice.ts modified: src/lib/store/practice-mode-slice.ts modified: src/lib/use-polling.ts modified: src/locales/en.json modified: src/locales/ru.json modified: src/locales/zh.json modified: todo.md modified: tsconfig.json
chore: code quality, security hardening, and infrastructure improvements
refactor: migrate inline auth to withAdminAuth, fix type assertions, clean imports
fix: migrate analytics to useAnalyticsQuery hook, add AbortController cleanup, fix hardcoded task counts
fix: prevent sidebar skeleton hydration mismatch
feat: internationalize contextual SQL tips (17 tips in 3 languages)
chore: add Prettier formatter, format entire codebase, integrate with ESLint and lint-staged
chore: remove unnecessary 'use client' from server-compatible components
i18n: convert all remaining Russian UI strings to English
fix: add error logging to catch blocks, security guard, and replace Math.random with crypto.randomUUID
fix: add aria-labels to all icon-only buttons for WCAG compliance
i18n: convert remaining Russian UI strings in components (18 files)
feat: enhance performance monitoring with Web Vitals, smart alerts, and export
fix: add aria-labels to icon-only buttons and localize theme toggle
modified: src/app/(main)/app/page.tsx modified: src/components/action-bar.tsx modified: src/components/auth/login-form.tsx modified: src/components/auth/user-menu.tsx modified: src/components/results-table.tsx modified: src/components/schema-viewer.tsx modified: src/components/sidebar.tsx modified: src/components/sql-editor.tsx modified: src/components/task-panel.tsx modified: src/components/welcome-panel.tsx modified: src/lib/i18n.ts modified: src/middleware.ts
fix: update logger calls to match new structured API signature
feat: configure Amvera Cloud deployment & fix remaining TypeScript errors
Replace next-themes with custom ThemeProvider to fix React 19 script warning
refactor: extract MS_PER_DAY constant, fix store duplication, improve a11y
fix: add i18n to 6 components, fix SQL injection, and replace console with logger
fix: harden health endpoint, remove as-any casts, improve type safety
i18n: convert hardcoded Russian strings in components, fix locale hardcoding (ru-RU→undefined)
modified: .gitignore modified: eslint.config.mjs new file: src/__tests__/safe-fetch.test.ts modified: src/app/(main)/app/page.tsx new file: src/app/api/sql-performance/route.ts new file: src/app/api/web-vitals/analytics/route.ts modified: src/app/api/web-vitals/route.ts modified: src/app/layout.tsx modified: src/components/admin/create-deadline-dialog.tsx modified: src/components/admin/deadline-manager.tsx new file: src/components/admin/performance-dashboard.tsx modified: src/components/admin/user-table.tsx modified: src/components/auth/register-form.tsx modified: src/components/auth/reset-password-form.tsx modified: src/components/locale-selector.tsx modified: src/components/teacher/deadline-manager.tsx modified: src/components/teacher/group-management.tsx new file: src/components/theme-init-script.tsx modified: src/components/ui/table.tsx modified: src/components/web-vitals.tsx new file: src/components/widget-error-boundary.tsx modified: src/lib/db/schema.ts modified: src/lib/pdf-report.ts new file: src/lib/safe-fetch.ts modified: src/lib/sql-engine.ts new file: src/lib/sql-performance-monitor.ts modified: src/lib/store/index.ts modified: src/lib/theme-provider.tsx modified: src/proxy.ts modified: vitest.config.ts