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 репозитории.