Удобная вики-энциклопедия для разработчиков: термины программирования с поиском, фильтрами по темам и связями между понятиями.
- 224+ термина из 12 направлений разработки
- Полнотекстовый поиск по названию, краткому и полному определению
- Фильтрация по темам — архитектура, ООП, алгоритмы, базы данных, DevOps, безопасность и др.
- Карточки терминов с кратким описанием, назначением, примерами и ограничениями
- Связанные термины — навигация между понятиями
- Пагинация результатов
- Тёмная / светлая тема — переключение в один клик, сохраняется в localStorage
- AI-квизы по темам — генерация тестов с помощью ИИ по каждой теме, с таймером и подробными объяснениями ответов
- Результаты квиза — подсчёт баллов, процент правильных ответов, детальный разбор каждого вопроса
- Адаптивный дизайн — корректно работает на мобильных устройствах
- Кэширование фильтров — выбранные темы и поисковый запрос сохраняются между переходами
- SEO-оптимизация — мета-теги, Open Graph, JSON-LD, sitemap.xml со всеми страницами
- Динамический sitemap — автоматическая генерация sitemap через серверную функцию
| Тема | Описание |
|---|---|
| 🏗️ Архитектура | Паттерны проектирования, SOLID, микросервисы |
| 🧬 ООП | Наследование, полиморфизм, инкапсуляция |
| 🔗 Функциональное | Чистые функции, иммутабельность, монады |
| 🧠 Рантайм и память | Сборка мусора, стек, куча, утечки памяти |
| ⚡ Конкурентность | Потоки, асинхронность, блокировки |
| 📊 Алгоритмы и СД | Сортировка, графы, деревья, хеш-таблицы |
| 🗄️ Базы данных | SQL, NoSQL, индексы, транзакции |
| 🌐 Сети | HTTP, TCP/IP, DNS, WebSocket |
| ⚙️ Компиляторы и языки | Парсинг, AST, типизация |
| 🧪 Тестирование | Unit, интеграционные, E2E тесты |
| 🚀 DevOps | CI/CD, контейнеры, мониторинг |
| 🔒 Безопасность | Аутентификация, шифрование, уязвимости |
- React 18 + TypeScript 5
- Vite 5 — сборка и dev-сервер
- Tailwind CSS 3 — стилизация
- shadcn/ui — UI-компоненты
- TanStack React Query — кэширование и загрузка данных
- React Router 6 — маршрутизация
- Lucide React — иконки
- Supabase — база данных (квизы), Edge Functions (генерация квизов, sitemap)
- AI (Gemini) — генерация вопросов для квизов
Термины загружаются из открытого репозитория DevGlossary в формате Markdown и парсятся на клиенте.
# Клонировать репозиторий
git clone <repo-url>
cd codopedia
# Установить зависимости
npm install
# Запустить dev-сервер
npm run devПриложение будет доступно по адресу http://localhost:5173.
src/
├── components/ # UI-компоненты
│ ├── Header.tsx # Шапка сайта с навигацией
│ ├── SearchBar.tsx # Поиск
│ ├── TopicFilter.tsx # Фильтр по темам
│ ├── TermCard.tsx # Карточка термина
│ ├── TermDetail.tsx # Полная страница термина
│ ├── QuizSection.tsx # Секция квизов на странице темы
│ ├── ThemeToggle.tsx # Переключатель темы
│ ├── SEO.tsx # SEO мета-теги
│ └── ui/ # shadcn/ui компоненты
├── hooks/ # React-хуки
│ ├── useGlossary.ts # Загрузка и кэширование глоссария
│ └── useTheme.ts # Управление темой
├── lib/ # Утилиты
│ └── glossary.ts # Парсинг Markdown, поиск, типы
├── pages/ # Страницы
│ ├── Index.tsx # Главная с каталогом
│ ├── TermPage.tsx # Страница термина
│ ├── QuizPage.tsx # Прохождение квиза
│ └── NotFound.tsx # 404
└── main.tsx # Точка входа
supabase/
├── functions/
│ ├── generate-quiz/ # Edge Function: генерация квиза через AI
│ └── sitemap/ # Edge Function: динамический sitemap.xml
└── config.toml # Конфигурация Supabase
Данные терминов — DevGlossary.