Web application development

TEXT | Duy Le and Anna-Kaisa Saari
Permalink http://urn.fi/URN:NBN:fi-fe2024052033188

In the ever-changing world of technology, web application fusion has emerged as a key component of contemporary innovation. The connection of different technologies through web applications has pushed civilization into a new era of efficiency, accessibility, and connectivity as the digital domain continues to develop. Duy Le introduces in his thesis the widely used web application development technology stack and roles by creating an example web application. With the thesis outcome, users can review the main knowledge and important features about web application development that might be necessary for their programming development career. The thesis project contained three parts: back-end, database system and front-end.

The back end is the part of a web application that is not visible to the user. It refers to the way a website functions and all the components that help to deliver needed functionality. Processing requests from the front end, carrying out relevant tasks (such as data retrieval, modification, and storage), and returning the results to the client are main responsibilities of backend. Node.js, known for its event-driven, non-blocking I/O model, serves as the backbone of the back-end development. It allows for server-side JavaScript execution, offering excellent performance and scalability. Express.js, a minimalist web framework for Node.js, simplifies the process of building robust APIs, and handling HTTP requests. Sequelize, an ORM (Object-Relational Mapping) for Node.js, facilitates seamless interaction with the MySQL database, providing a higher level of abstraction and simplifying data manipulation. The combination of these technologies empowers developers to create efficient back-end systems, handling complex logic, data processing, and API integrations with ease. The asynchronous nature of Node.js ensures optimal performance, while Sequelize streamlines database interactions, promoting code reusability and maintainability.

The second part is the database, MySQL, a robust relational database management system, which serves as the cornerstone of data storage and retrieval in the thesis. Its compatibility with Sequelize simplifies schema definition, querying, and data manipulation. MySQL ensures data integrity, scalability, and performance, making it a suitable choice for mission-critical applications requiring structured data storage.

The front-end system plays the third role of the project. Front-end is the part that client sees and interacts with on the website such as clicking, touching, viewing. React, a popular JavaScript library for building user interfaces, forms the front-end foundation. Its component-based architecture enables developers to create interactive and responsive UIs efficiently. Axios, a promised-based HTTP client, facilitates data fetching and asynchronous APIs calls from the front-end to the back-end, ensuring smooth communication between server and client. Yup, a schema builder for form validation enhances front-end reliability by enforcing data integrity and validation rules. Together, these technologies empower developers to craft engaging user experiences, manage state efficiently, and handle user input securely.

The chosen technology stack offers several advantages. Firstly, the use of JavaScript across stack development, reducing context switching and enabling full-stack developers to work more seamlessly. Secondly, the modular and component-based of React encourages code reusability and scalability, promoting a more maintainable front-end codebase. Furthermore, Sequelize abstracts away SQL complexities, allowing developers to focus on application logic rather than database intricacies. On the other hand, the web application does not provide many functions and human capacities it still has limitations of user experiences which supposed the satisfy qualification for the thesis.

In conclusion, the combination of Node.js, Express.js, Sequelize, React, Axios, Yup and MySQL forms a powerful toolkit for building modern full-stack web applications. This thesis, written by Duy Le and supervised by Anna-Kaisa Saari explores the implementation details, best practices, and advantages of presented technology stack, showcasing its potential to revolutionize web development by enhancing productivity and maintainability. Full thesis can be found at https://urn.fi/URN:NBN:fi:amk-202404196993

Related articles