






























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This report provides a comprehensive comparison of relational database management systems (rdbms) and nosql databases, highlighting their strengths and weaknesses. It also examines the xampp and mevn development stacks, discussing their key components and functionalities. The report delves into the core concepts of web programming, including database technologies, frontend and backend development, and relevant libraries and tools. It concludes with recommendations for expanding system functionality, optimizing performance, and exploring advanced concepts in web development.
Typology: Cheat Sheet
1 / 38
This page cannot be seen from the preview
Don't miss anything!































Figure 1: Vue.js task 1 ................................................................................................................................. 15 Figure 2: Vue.js task 2 ................................................................................................................................. 16 Figure 3: Vue.js task 3 ................................................................................................................................. 17 Figure 4: Vue.js task 4 ................................................................................................................................. 18 Figure 5: Vue.js task 5 ................................................................................................................................. 19 Figure 6: Vue.js task 6 ................................................................................................................................. 20 Figure 7: Vue.js task 7 ................................................................................................................................. 21 Figure 8: Vue.js task 8 ................................................................................................................................. 21 Figure 9: Vue.js task 9 ................................................................................................................................. 22 Figure 10: Vue.js task 10 ............................................................................................................................. 22 Figure 11: “New” view page ....................................................................................................................... 24 Figure 12: “Words” page, show list of words ............................................................................................. 25 Figure 13: Code lines to programming “Words” page ................................................................................ 27 Figure 14: Detail of the word that user click “Show” .................................................................................. 27 Figure15: Code to program “Show” page ................................................................................................... 28 Figure 16: “Edit word” page pop-up for user to edit the word .................................................................. 29 Figure 17: Code to program “Edit word” page ........................................................................................... 30 Figure 18: A notification pop-up to ensure that user want to delete a word ............................................ 31 Figure 19: When user confirm to detele, the word will no longer at Words page and there’s a notification show that “Word deleted successfully”. ..................................................................................................... 31 Figure 20: Where I linked CRUD function in backend(Create, Read, Update, Delete) ............................... 32 Figure 21: Backend and Frontend code folder............................................................................................ 33 Figure 22: vocabController.js file, where CRUD function mainly be programmed .................................... 34 Figure 23: vocabModel.js file ...................................................................................................................... 35 Figure 24: vocabRouter.js file ..................................................................................................................... 36 Figure 25: server.js file ................................................................................................................................ 37 Figure 26: vocab.json file, a backup Database ............................................................................................ 38
The report compares RDBMS and NoSQL database systems, the XAMPP and MEVN stacks, and major technologies used in current web development. It discusses backend, frontend, databases, popular libraries, tools, and cloud technologies. The paper finishes with an evaluation of a demo web system, which is useful for both students and professionals in web programming.
This section examines the two main categories of database management systems (DBMS): Relational Database Management Systems (RDBMS) and NoSQL databases. Understanding the differences between these approaches is crucial for choosing the right database solution for a particular application.
2.1 Introduction to RDBMS Relational Database Management This report delves into the core concepts of web programming, focusing on the comparison of database management systems (RDBMS and NoSQL), development stacks (XAMPP and MEVN), and a detailed discussion of relevant technologies. The report aims to provide a comprehensive understanding of these concepts, their advantages, disadvantages, and practical applications. Systems (RDBMS) are a traditional database approach where data is stored in structured tables with defined columns and rows. These tables are interconnected based on relationships, forming a unified structure (Elmasri & Navathe, 2011). Key Features of RDBMS:
Feature Relational Database Management System (RDBMS) NoSQL Database Data Model Structured, tabular data with predefined schemas Flexible data models Scalability Vertical scaling Horizontal scaling ACID Compliance Strong ACID compliance (Atomicity, Consistency, Isolation, Durability) Often weaker ACID guarantees Performance Generally slower for large datasets and high write throughput Typically faster for large datasets and high write throughput Use Cases Complex joins, transactions, data integrity, and reporting Large volumes of unstructured or semi- structured data, high write throughput, real-time analytics
Introduction: XAMPP is a cross-platform web server solution stack package that combines Apache HTTP Server, MySQL database, PHP, and Perl scripting languages for easy local web server setup.
Analysis and Evaluation: XAMPP is a popular tool for creating dynamic websites and web applications, but its simplicity may limit its scalability and customization options for complex projects. Advantages: Easy installation All-in-one package Cross-platform compatibility Suitable for small to medium-sized projects Disadvantages: Potential security risks if not configured properly Limited scalability for large-scale applications May not be ideal for production environments
Introduction: The MEVN stack is a JavaScript-based full-stack development framework comprising MongoDB, Express.js, Angular, and Node.js. It is specifically designed for building modern, dynamic web applications using JavaScript technologies. Analysis and Evaluation: MEVN provides a cohesive development experience using JavaScript, ideal for single-page and real-time applications, but may have a steeper learning curve for developers unfamiliar with JavaScript frameworks. Advantages: Isomorphic JavaScript High performance Scalability Large and active community Disadvantages: Steeper learning curve Less mature than some other full-stack frameworks Potential for over-engineering small projects
Node.js is a cross-platform JavaScript runtime environment that executes code outside a web browser, using a non-blocking, event-driven I/O model for efficient concurrent connection handling. Express.js is a Node.js web application framework that simplifies routing, request handling, middleware, and view rendering for web and mobile applications.
This project aimed to develop a fully functional vocabulary management application encompassing both frontend and backend components. The application utilizes the MEVN stack
Strengths:
proficiency in the chosen technologies. However, both components have notable limitations that need to be addressed for a truly robust and complete application.
The future development plan includes prioritizing security, improving scalability, improving data validation, enhancing error handling, adding search and filtering, exploring additional features, implementing testing, and implementing a robust logging system for debugging and analysis. These recommendations aim to enhance the user experience, handle larger datasets, improve data validation, provide clear feedback, and enhance functionality with advanced search capabilities.
This report compares database management systems (RDBMS and NoSQL), development stacks (XAMPP and MEVN), and technologies for web programming. It highlights the strengths of each system, such as data integrity and relationship management, and the differences between XAMPP and MEVN. The report also discusses the key components of modern web application development environments, including backend, frontend, database, libraries, tools, and cloud technologies. It concludes with an evaluation of a demo web system.
This project provides a foundation for future web programming development. Recommendations include expanding system functionality, optimizing performance, strengthening security, exploring advanced concepts like microservices architecture and serverless computing, diving into different technologies like databases and frontend frameworks, and contributing to opensource projects. These improvements aim to enhance the web application's capabilities, improve scalability and performance, and foster collaborative learning and real-world application of acquired skills.
Task 1: The Vue Instance
Figure 2: Vue.js task 2
Figure 3: Vue.js task 3 Core Concepts:
Figure 5: Vue.js task 5
Figure 6: Vue.js task 6 Task 7: Computer properties