Экосистема проекта

Историко-краеведческий проект «Матушка-Заступница»
Три сервиса. Одна учётная запись. Один проект.

Наш проект — это не один сайт, а целая экосистема из трёх взаимосвязанных сервисов. Участник один раз регистрируется в личном кабинете и получает доступ ко всем частям проекта: к архиву документов, к мероприятиям, к храму. Ниже — подробное описание каждого сервиса.

Сервисы

Личный кабинет проекта «Матушка-Заступница» — подача заявлений и документы участника
Личный кабинет
Главная точка входа в проект. Здесь участник подаёт заявления на вступление и на доступ к архиву, смотрит анонсы мероприятий, получает документы участника и видит свой статус в проекте. Без личного кабинета попасть в другие части проекта невозможно.
  • Подача заявлений на вступление в проект
  • Оформление доступа к архиву документов
  • Просмотр анонсов мероприятий
  • Хранение документов участника (сертификаты, благодарности)
  • Профиль с QR-кодом и статусом
Электронный архив документов проекта «Матушка-Заступница» — метрические книги и исследования
Архив документов
Электронный архив проекта. Здесь хранятся оцифрованные метрические книги, исповедальные ведомости, ревизские сказки, фотографии и исследовательские работы. Доступ открывается только участникам проекта после одобрения заявки в личном кабинете.
  • Метрические книги и исповедальные ведомости
  • Ревизские сказки и подворные переписи
  • Фотографии и архивные документы
  • Исследовательские работы участников
  • Поиск и фильтры по всем материалам
  • Верификация дел по QR-коду
  • Мастерская для добавления новых материалов
Храм «Матушка-Заступница» — расписание богослужений и подача записок онлайн
Храм
Официальный сайт храма. Открыт для всех — не только для участников проекта. Здесь публикуется расписание богослужений, принимаются записки о здравии и упокоении, рассказывается об истории прихода и приходской жизни.
  • Расписание богослужений на неделю и месяц
  • Подача записок онлайн

Как связаны сервисы

Все три части экосистемы используют одну учётную запись. Это значит, что участник проходит регистрацию только один раз — в личном кабинете. После этого он автоматически получает доступ к архиву, если заявка одобрена, и может пользоваться всеми возможностями проекта без повторных входов.

Как получить доступ

  1. айдите на lk.matushka-zastupnitsa.ru и зарегистрируйтесь.
  2. Подайте заявление на вступление в состав участников проекта или на доступ к архиву документов (или другое)
  3. Дождитесь одобрения администрации — обычно это занимает до 5 рабочих дней.
  4. После одобрения вам откроется доступ к архиву и другим частям экосистемы.
  5. Войдите в архив под своим email и паролем — все материалы проекта станут доступны.

Часто задаваемые вопросы

Нужно ли регистрироваться в каждой части проекта отдельно?
Может ли обычный посетитель посмотреть архив?
Открыт ли раздел храма для всех?
Как долго рассматривается заявка на доступ?
Куда обращаться, если что-то не работает?
query("
    SELECT d.*, u.full_name AS uploader_name 
    FROM documents d 
    LEFT JOIN users u ON u.id = d.uploaded_by
    ORDER BY d.category, d.doc_year DESC, d.title
");

$documents = [];
while ($row = $docs_result->fetch_assoc()) {
    // Проверяем, в избранном ли у пользователя этот документ
    $row['is_favorite'] = $is_logged 
        ? is_favorite($conn, $user['id'], $row['id']) 
        : false;
    $documents[] = $row;
}

// 7. Группируем документы по категориям
$by_category = [];
foreach ($documents as $d) {
    $by_category[$d['category']][] = $d;
}

// 8. Собираем уникальные разделы для фильтра
$sections_list = [];
$sec_res = $conn->query("
    SELECT DISTINCT section 
    FROM documents 
    WHERE section IS NOT NULL AND section != '' 
    ORDER BY section
");
while ($s = $sec_res->fetch_assoc()) {
    $sections_list[] = $s['section'];
}

// 9. Общее количество документов
$total_count = count($documents);

// 10. Flash-сообщение (например, после загрузки документа)
$flash = null;
if (!empty($_SESSION['flash'])) {
    $flash = $_SESSION['flash'];
    unset($_SESSION['flash']);
}

// 11. Считаем избранное
$fav_count = 0;
if ($is_logged) {
    $fav_count = (int)$conn->query("
        SELECT COUNT(*) FROM favorites WHERE user_id = " . (int)$user['id']
    )->fetch_row()[0];
}

// 12. SEO-настройки страницы
$seo_title = 'Архив документов — ИКПМЗ «Матушка-Заступница»';
$seo_desc  = 'Электронный архив историко-краеведческого проекта: '
           . 'метрические книги, исповедальные ведомости, ревизские сказки. '
           . 'Всего дел: ' . $total_count . '.';
$seo_url   = ARCHIVE_URL . '/catalog.php';
?>



    
    

    
    <?= e($seo_title) ?>
    
    
    
    

    



Серийный № Название Год Действия
📭 В архиве пока нет документов
🏷
📖 Открыть 🔒 Войти

О примере кода на этой странице

Здесь показан фрагмент реального кода одной из страниц проекта — публичного каталога архива. Это учебный пример: он демонстрирует, как устроена страница изнутри — от подключения к базе данных до вывода информации на экран. Некоторые части кода намеренно скрыты — в частности, строки подключения к базе данных, доступы и служебные функции. Это сделано в целях безопасности: раскрывать их публично нельзя. Если вы заметили, что какой-то фрагмент «отсутствует» или «не работает» — так и задумано. Пример показывает логику и структуру, а не является рабочей копией. Проект написан вручную, без использования готовых CMS. Мы ценим открытость: пусть участники и гости видят, как всё устроено внутри.