Skip to content

Qaddis/dl-guard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DL Guard

DL Guard 2.0 - улучшенная версия сайта моего школьного проекта за 10ый класс.

Основные изменения:

  • Новый стек и технологии: (TypeScript + Next.js 14 + Framer Motion вместо JavaScript + React + IntersectionObserve);
  • SEO;
  • Небольшие изменения в дизайне.

Технологии

  • TypeScript;
  • Next.js 14;
  • Redux Toolkit;
  • Framer Motion;
  • Three (@react-three/fiber & @react-three/drei ). В качестве пакетного менеджера я решил перейти с npm на pnpm.

Материалы

  • Iconfinder - иконки (VK, Telegram, Github, Burger (для бургер-меню), Lock & Lock with shield (OpenGraph баннер & логотип));
  • Google Fonts - шрифты (Roboto Slab, Nunito, Dancing Script, Caveat, Marck Script (логотип))
  • Vercel - хостинг;
  • Логотип, 3д модель и OpenGraph баннер - созданы мной.

О проекте

DL Guard - система электронных пропусков с открытым исходным кодом и чертежами устройств. Проект, который я создавал для своего учебного учреждения в качестве школьного проекта за 10ый класс.

Система состоит из нескольких элементов:

  • Считывающее устройство (DL Guard | Device) - считывает уникальный идентификатор пропуска (далее - UID) у RFID-карточки или NFC телефона и выводит в COM-порт.
  • Компьютерное приложение (DL Guard | PC) - мониторит указанные COM-порты, получает UID, который выводит туда DL Guard | Device, и делает запрос на сервер (DL Guard | Server), ждёт ответа и выводит его пользователю.
  • Сервер (DL Guard | Server) - соединяется с БД MongoDB. Получает UID в запросе от компьютерного приложения (DL Guard | PC), ищет пользователя в БД с таким же UID и проверяет его статус (учится ещё или не учится) и отправляет ответ (разрешён вход или нет). Если не находит пользователя в БД - отправляет запрет на вход.

Скачать готовую систему можно на самом сайте. Исходники можно найти в Github репозитории.