Node JS Project
Цей проєкт — високонавантажений серверний застосунок, побудований на базі Node.js. Основне призначення — забезпечення обробки великої кількості одночасних запитів у реальному часі, з інтеграцією через REST API. Було реалізовано багаторівневу систему авторизації з JWT-токенами, middleware-захист маршрутів, валідацію запитів та логування активностей користувачів.
Основна частина логіки базується на Express.js, підключено базу даних MongoDB із чіткою структурою колекцій та індексацією полів для максимальної швидкодії. Передбачено автоматичну архівацію даних, імпорт/експорт JSON-даних, обробку помилок на сервері та побудову звітів по API-запитах.
Окремий блок проєкту — це реалізація подій через WebSocket (Socket.io), що дозволяє обмінюватись повідомленнями або оновлювати дані на клієнті без перезавантаження сторінки. Це було застосовано для чатів, повідомлень у CRM та реального часу в адміністративній панелі.
Система логування — на базі Winston з поділом на рівні: info, warn, error, debug. Було реалізовано механізми відновлення після збоїв, моніторинг через PM2 та збір логів у хмарне середовище.
Код масштабований, покритий модульними тестами (Jest), гнучкий до розширення через архітектуру з сервісними модулями. Проєкт став основою для CRM-інструменту, який працює щоденно в середовищі з понад 50 тис. користувачів.