Development of an information system for tourist travel management based on microservice architecture

Students Name: Kaminetskyi Martyn Yaroslavovych
Qualification Level: magister
Speciality: System Design
Institute: Institute of Computer Science and Information Technologies
Mode of Study: full
Academic Year: 2022-2023 н.р.
Language of Defence: ukrainian
Abstract: Kaminetskyi M.Y., Sokolovskyi Y.I. (supervisor). Development of an information system for tourist travel management based on microservice architecture. Master’s qualification work. – Lviv Polytechnic National University, Lviv, 2022. Expanded abstract. The development of a tourist travel management information system model based on microservice architecture is a system model that will ensure the implementation of a design solution with its visualization in the form of a system that allows implementing all the principles and approaches provided by the model using research methods, as well as creating an opportunity easily, quickly and comfortably work with different parts of a software product, from databases to user interfaces. The service should be intuitive for users and provide easy and comfortable work with the main modules of the system and its data. The object of research is approaches to software development, interaction between system objects, which are substantially significant when describing the requirements for solving the given task. The subject of research is principles, approaches, processes, as well as architectural solutions that provide the system with the necessary structure, interaction between them, a set of properties and restrictions imposed on system elements with the required number of abstraction levels. The goal of the research is to create a software product that will ensure the implementation of an architectural solution using modern approaches to the development of software products, a modern stack of technologies with simplified communication with a database that can be easily maintained. The research results are a created software product that implements all research methods with the appropriate functionality, which allows easy and quick communication with the database, correct data processing, creation, editing, deletion, viewing of entities; search and filtering of entities in the middle of the service. The developed product model will allow you to easily and quickly maintain and develop the 6 software product. The service contains a convenient and practical interface for the user, which provides intuitively understandable access to data and the ability to work with them. An equally important point is the testing of the software product, which ensures the most correct and reliable code and verification of the system as a whole, which will avoid unwanted potential errors during the development and execution of the program. The readability and correctness of the code will allow it to be easily and quickly modified and, if necessary, will ensure the rapid involvement of other developers in the improvement and development of the system, its functionality and modules. For development and testing this product were selected the integrated environment of Visual Studio Code and JetBrains Intellij IDEA, programming language JavaScript with the React framework, and Java with the Spring framework which is based on MySQL database and is used for the development of the product. The stack of technologies chosen for the implementation of the service is described in the main body of the work along with the gradual development of the service including description of the diagrams, project and database structure and modular systems, and the implementation of the service. Keywords: online system, framework, architecture, microserrvices, monolithic system, software method. References: [1]Microservices– http://en.wikipedia.org/Microservices/ [2]Monolithic System, – http://en.wikipedia.org/wiki/Monolithic_system/ [3]ООП – http://en.wikipedia.org/Object-oriented_programming/ [4]SOLID – http://freecodecamp.org/news/solid-princeples-explained-in-plain english/ [5]FIRST – http://howtodoinjava.com/news/best-rpractices/first-princeples-for good-tests/ 7 [6]Perry and Wolf architecture - http://en.wikipedia.org/wiki/Software_architecture [7]UML – universal modeling language: http://sites.znu.edu.ua/webprog/lect/1238.ukr.html/ [8]Java Documentation – https:docs.oracle.com/en/java/ [9]Spring Boot Reference Guide – https://docs.spring.io/spring boot/docs/2.0.1.RELEASE/reference/htmlsingle/ [10] Spring Security Reference. – https://docs.spring.io/spring security/site/docs/5.0.4.RELEASE/reference/htmlsingle/ [11] MySQL – https://dev.mysql.com/doc / [12] Spring in Action. Fourth edition – Craig Walls – Manning Publications 2015. – 626 с. [13] developer.mozilla.org. HTML documentation: https://developer.mozilla.org/en-US/docs/Web/HTML [14] developer.mozilla.org. CSS documentation: https://developer.mozilla.org/en-US/docs/Web/CSS [15] SASS documentation – https://sass-lang.com /documentation/ [16] JavaScript - https://javascript.info/ [17] ReactJS: https://uk.reactjs.org/ [18] W3C. CSS Validation Service: https://jigsaw.w3.org/css-validator/ [19] WAVE web accessibility evaluation tool: http://wave.webaim.org [20] Unit Tests https://travelscode.com/unit-tests-chastina-2/ [21] Jest https://jestjs.io/ru/ [22] Enzyme https://habr.com/ru/post/421647/