Skip to content

ildu00/Codopedia

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

About

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

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors