Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал: http://elartu.tntu.edu.ua/handle/lib/49028
Повний запис метаданих
Поле DCЗначенняМова
dc.contributor.advisorМудрик, Іван Ярославович-
dc.contributor.authorБурда, Олександр Богданович-
dc.contributor.authorBurda, Oleksandr-
dc.date.accessioned2025-06-24T11:35:30Z-
dc.date.available2025-06-24T11:35:30Z-
dc.date.issued2025-06-
dc.date.submitted2025-06-09-
dc.identifier.citationБурда О.Б. Розробка веб-месенджера у реальному часі з використанням Node.js, Typescript та MongoDB : робота на здобуття кваліфікаційного ступеня бакалавра : спец. 121 - інженерія програмного забезпечення / наук. кер. І. Я. Мудрик. Тернопіль : Тернопільський національний технічний університет імені Івана Пулюя, 2025. 65 с.uk_UA
dc.identifier.urihttp://elartu.tntu.edu.ua/handle/lib/49028-
dc.description.abstractМетою роботи є дослідження сучасних архітектурних патернів, проектування та розробка високопродуктивної програмної системи для комунікації в реальному часі. Методи розробки базуються на застосуванні монорепозиторної архітектури, мови програмування TypeScript, платформи Node.js та бібліотеки React. Взаємодія між клієнтом та сервером реалізована за допомогою фреймворку tRPC, а комунікація в реальному часі забезпечується через Вебсокети у поєднанні з брокером повідомлень Redis. В результаті роботи було розроблено програмну реалізацію веб-месенджера, що представляє собою клієнт-серверний додаток з наскрізною типізацією. Система включає серверну частину на Node.js з API на базі tRPC, клієнтську частину на React та декаплінговану архітектуру реального часу, що використовує Redis Pub/Sub.uk_UA
dc.description.abstractThe objective of the thesis is the investigation of modern architectural patterns, and the design and development of a high-performance software system for real-time communication. The development methods are based on the use of a monorepo architecture, the TypeScript programming language, the Node.js platform, and the React library. Client-server interaction is implemented using the tRPC framework, while real-time communication is ensured via WebSockets combined with the Redis message broker. As a result of the work, a software implementation of a web messenger was developed, which is a client-server application with end-to-end type safety. The system includes a Node.js backend with a tRPC-based API, a React frontend, and a decoupled real-time architecture that utilizes Redis Pub/Sub.uk_UA
dc.description.tableofcontentsВСТУП 8 1 ОГЛЯД ПРЕДМЕТНОЇ ОБЛАСТІ ВЕБ-МЕСЕНДЖЕРІВ 10 1.1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ВЕБ-МЕСЕНДЖЕРІВ 10 1.2 ФОРМУВАННЯ ВИМОГ ДО ВЕБ-МЕСЕНДЖЕРА ДЛЯ КОМУНІКАЦІЇ В РЕАЛЬНОМУ ЧАСІ 11 1.3 ОПИС ВАРІАНТІВ ВИКОРИСТАННЯ ВЕБ-МЕСЕНДЖЕРА 12 1.4 ВИБІР ТЕХНОЛОГІЙ РОЗРОБКИ СИСТЕМИ 14 2 ПРОЕКТУВАННЯ ТА РОЗРОБКА ВЕБ-МЕСЕНДЖЕРА 16 2.1 ПРОЕКТУВАННЯ БАЗИ ДАНИХ 16 2.2 МОДЕЛЮВАННЯ АРХІТЕКТУРИ СИСТЕМИ 31 2.3 РОЗРОБКА СЕРВЕРНОЇ ЧАСТИНИ 36 2.4 РОЗРОБКА КЛІЄНТСЬКОЇ ЧАСТИНИ 40 2.5 ТЕСТУВАННЯ СИСТЕМИ 43 3 БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ ТА ОСНОВИ ОХОРОНИ ПРАЦІ 49 3.1 ФІЗІОЛОГІЧНИЙ ВПЛИВ ФАКТОРІВ ІСНУВАННЯ НА ЖИТТЄДІЯЛЬНІСТЬ ЛЮДИНИ 49 3.2 ПІДБИРАННЯ ОПТИМАЛЬНИХ ПАРАМЕТРІВ МІКРОКЛІМАТУ НА РОБОЧИХ МІСЦЯХ 51 ВИСНОВКИ 54 ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ 56 ДОДАТКИ 58 ДОДАТОК А – ТЕЗИ КОНФЕРЕНЦІЇ 59 ДОДАТОК Б – ЛІСТИНГ ФУНКЦІЇ “WITHRATELIMIT” ДЛЯ ОБМЕЖЕННЯ ЧАСТОТИ ЗАПИТІВ 62 ДОДАТОК В – ДИСК З РОБОТОЮ 65uk_UA
dc.language.isoukuk_UA
dc.publisherТернопільський національний технічний університет імені Івана Пулюяuk_UA
dc.subjectархітектура програмного забезпеченняuk_UA
dc.subjectвеб-месенджерuk_UA
dc.subjectвебсокетиuk_UA
dc.subjectмонорепозиторійuk_UA
dc.subjectNode.jsuk_UA
dc.subjectPrismauk_UA
dc.subjectReactuk_UA
dc.subjectRedisuk_UA
dc.subjecttRPCuk_UA
dc.subjectTypeScriptuk_UA
dc.subjectsoftware architectureuk_UA
dc.subjectweb messengeruk_UA
dc.subjectWebSocketsuk_UA
dc.subjectmonorepouk_UA
dc.titleРозробка веб-месенджера у реальному часі з використанням Node.js, Typescript та MongoDBuk_UA
dc.title.alternativeDevelopment of a real-time web messenger using Node.js, TypeScript, and MongoDBuk_UA
dc.typeBachelor Thesisuk_UA
dc.rights.holder© Бурда Олександр Богданович, 2025uk_UA
dc.contributor.committeeMemberМарценко, Сергій Володимирович-
dc.coverage.placenameТНТУ ім. І.Пулюя, ФІС, м. Тернопіль, Українаuk_UA
dc.format.pages65-
dc.subject.udc004.9uk_UA
dc.relation.references1. Martin R. C. Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall, 2017. 432 с.uk_UA
dc.relation.references2. Potvin R., Levenberg J. Why Google Stores Billions of Lines of Code in a Single Repository. Communications of the ACM. 2016. Vol. 59, No. 7. С. 78–87.uk_UA
dc.relation.references3. Node.js Foundation. Node.js Documentation. [Електронний ресурс]. URL: https://nodejs.org/en/docs/.uk_UA
dc.relation.references4. Meta Platforms, Inc. React Official Documentation. [Електронний ресурс]. URL: https://react.dev/.uk_UA
dc.relation.references5. tRPC Team. tRPC: End-to-end typesafe APIs made easy. [Електронний ресурс]. URL: https://trpc.io/.uk_UA
dc.relation.references6. Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994. 395 с.uk_UA
dc.relation.references7. Petryk, M.R., Boyko, I.V., Khimich, O.M. et al. High-Performance Supercomputer Technologies of Simulation and Identification of Nanoporous Systems with Feedback for n-Component Competitive Adsorption. Cybern Syst Anal 57, 316–328 (2021). https://doi.org/10.1007/s10559-021-00357-7.uk_UA
dc.relation.references8. Redis. Redis Pub/Sub. [Електронний ресурс]. URL: https://redis.io/docs/manual/pubsub/.uk_UA
dc.relation.references9. Google Cloud. Rate limiting strategies and techniques. [Електронний ресурс]. URL: https://cloud.google.com/architecture/rate-limiting-strategies-techniques.uk_UA
dc.relation.references10. Jest. Jest: Delightful JavaScript Testing. [Електронний ресурс]. URL: https://jestjs.io/.uk_UA
dc.relation.references11. Richards M., Ford N. Fundamentals of Software Architecture: An Engineering Approach. O’Reilly Media, 2020.uk_UA
dc.relation.references12. Bittner K., Spence I. Use Case Modeling. Addison-Wesley, 2003.uk_UA
dc.relation.references13. Banks A., Porcello E. Learning React: Modern Patterns for Developing React Apps. O’Reilly Media, 2020.uk_UA
dc.relation.references14. Bradshaw S., Brazil E., Chodorow K. MongoDB: The Definitive Guide: Powerful and Scalable Data Storage. O’Reilly Media, 2020.uk_UA
dc.relation.references15. Grigorik I. High Performance Browser Networking. O’Reilly Media, 2013.uk_UA
dc.relation.references16. Курс «Безпека життєдіяльності та основи охорони праці» [Електронний ресурс] / Електронне навчання ТНТУ. – 2025. – Режим доступу: https://dl.tntu.edu.ua/index.php.uk_UA
dc.relation.references17. Закон України «Про охорону праці» від 14.10.1992 № 2694-XII [Електронний ресурс] / Верховна Рада України. – 2025. – Режим доступу: https://zakon.rada.gov.ua/laws/show/2694-12.uk_UA
dc.relation.references18. Безпека життєдіяльності : навчальний посібник [Електронний ресурс] / Т.Є. Стиценко, Г. В. Пронюк, Н. М. Сердюк, І. І. Хондак. – Харків : ХНУРЕ, 2018. – С. 8-15, 27-43, 96-114, 130-136, 231-238, 243-252, 275-284, 295-301. – Режим доступу: https://os.nure.ua/wp-content/uploads/2021/04/posibnik-bgd_2018.pdf.uk_UA
dc.relation.references19. Дистанційний курс «Кваліфікаційні роботи бакалаврів» сайту дистанційного навчання ТНТУ [Електронний ресурс]. – Режим доступу: URL: https://dl.tntu.edu.ua/bounce.php?course=5329.uk_UA
dc.relation.references20. Методичні вказівки до виконання дипломної роботи освітнього рівня - бакалавр студентами усіх форм навчання для напряму підготовки 121 – Інженерія програмного забезпечення/ Укладачі : Петрик М.Р., Михалик Д.М., Кінах Я.І., Гладьо С.В., Цуприк Г.Б. – Тернопіль : Вид-во ТНТУ імені Івана Пулюя, 2016 – 28 с.uk_UA
dc.relation.references21. Репозиторій GitHub [Електронний ресурс]. – 2025. – Режим доступу до ресурсу: https://github.com/Kanenil/realtime-chat.uk_UA
dc.contributor.affiliationТНТУ ім. І. Пулюя, Факультет комп’ютерно-інформаційних систем і програмної інженерії, Кафедра програмної інженерії, м. Тернопіль, Українаuk_UA
dc.coverage.countryUAuk_UA
Розташовується у зібраннях:121 — Інженерія програмного забезпечення (бакалаври)

Файли цього матеріалу:
Файл Опис РозмірФормат 
dyplom_Burda_2025.pdf2,83 MBAdobe PDFПереглянути/відкрити


Усі матеріали в архіві електронних ресурсів захищені авторським правом, всі права збережені.

Інструменти адміністратора