Design & Development of a Full-stack ERP Marketing Web App
Suero Martínez, Héctor Gabriel (2022)
Suero Martínez, Héctor Gabriel
2022
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022060214774
https://urn.fi/URN:NBN:fi:amk-2022060214774
Tiivistelmä
The software project consists of a full-stack application for an enterprise resource planning system used by car inspection companies; it is used for the creation of marketing material and for the execution of campaigns.
Full-stack development is concerned with the presentation, business logic and data layers of web applications, and the stack of technologies on which they are built. The thesis documents the design and development of the application.
UML is an object-oriented modelling language used in system analysis and design for creating different types of models that capture behavioral and structural details. Requirement analysis was done for the Web App starting with a domain analysis to understand the context of the problem to be solved. Once pertinent concepts were identified and documented, behavioral models were created based on the domain analysis and data collected.
The database design goes through the phases of conceptual, logical and physical design. In the first two phases’ models were created for the data and their relations that progressed in detail. The anomalies that result from data redundancy were explored and its solution—normalization—was implemented and results discussed. It is not always possible to remove all data redundancy completely because it may be required to some degree by the business’ requirements as was the case in this project.
The software development of the back end is documented by showing samples of code for services, custom built middlewares for enforcing security, error handling and logging HTTP request information to Azure Log Analytics workspaces. The front-end main components were described such as the Imagebank & Print Editor. RTK Query was shown to simplify the state management when making requests to the back-end REST API.
Unit testing grants flexibility to code since any change introduced can be easily verified to conform to expected behavior. Without testing, making changes to code is a risk of introducing bugs. The Jest testing framework and its implementation were explained with samples.
The Web App was built and deployed automatically using Azure Pipelines. A YAML pipeline definition sample was shown and described in detail. The conclusion is a reflection of the challenges faced, solutions and suggestions of how to improve system development with Test Driven Development.
Full-stack development is concerned with the presentation, business logic and data layers of web applications, and the stack of technologies on which they are built. The thesis documents the design and development of the application.
UML is an object-oriented modelling language used in system analysis and design for creating different types of models that capture behavioral and structural details. Requirement analysis was done for the Web App starting with a domain analysis to understand the context of the problem to be solved. Once pertinent concepts were identified and documented, behavioral models were created based on the domain analysis and data collected.
The database design goes through the phases of conceptual, logical and physical design. In the first two phases’ models were created for the data and their relations that progressed in detail. The anomalies that result from data redundancy were explored and its solution—normalization—was implemented and results discussed. It is not always possible to remove all data redundancy completely because it may be required to some degree by the business’ requirements as was the case in this project.
The software development of the back end is documented by showing samples of code for services, custom built middlewares for enforcing security, error handling and logging HTTP request information to Azure Log Analytics workspaces. The front-end main components were described such as the Imagebank & Print Editor. RTK Query was shown to simplify the state management when making requests to the back-end REST API.
Unit testing grants flexibility to code since any change introduced can be easily verified to conform to expected behavior. Without testing, making changes to code is a risk of introducing bugs. The Jest testing framework and its implementation were explained with samples.
The Web App was built and deployed automatically using Azure Pipelines. A YAML pipeline definition sample was shown and described in detail. The conclusion is a reflection of the challenges faced, solutions and suggestions of how to improve system development with Test Driven Development.