Skip to content

Repository files navigation

Codopedia — инженерный словарь программирования

codopedia.ru

Удобная вики-энциклопедия для разработчиков: термины программирования с поиском, фильтрами по темам и связями между понятиями.


🚀 Возможности

  • 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 тесты
🚀 DevOpsCI/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.

About

Удобная вики-энциклопедия для разработчиков: термины программирования с поиском, фильтрами по темам и связями между понятиями.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages