Đây là mẫu mới nhất tháng 112022 đảm bảo pass môn. ASSIGNMENT 1 Website Design Development Submission date 6 8 2022 Date Received 1st submission 6 8 2022 Re submission Date.In this part, you must present users’ requirements of your system. To make it simpler to understand for the CEO, you can use the format of User Story below to describe the requirements As a < type of user >, I want < some goal > so that < some reason >. The system must have at least 4 user roles, including business processes for FPT Shop managers, directors board and customers. The system must include CRUD actions (Create Read UpdateDelete) and at least 5 advanced statistical action (Word limit: 300 – 500 words)
ASSIGNMENT Qualification BTEC Level HND Diploma in Computing Unit number and title 10: Website Design & Development Submission date 6-8-2022 Date Received 1st submission Re-submission Date 6-8-2022 Date Received 2nd submission Student Name Nguyễn Công Minh Đức Student ID Class GCH1005 Assessor name GCH200854 Student declaration I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism I understand that making a false declaration is a form of malpractice Dức Student’s signature Grading grid P1 P2 P3 P4 M1 M2 M3 D1 Summative Feedback: Grade: Signature & Date: Resubmission Feedback: Assessor Signature: Date: GraphQL is a query language for APIs It gives you exactly what you need from the server without any unnecessary data Thanks to its performance and amazing developer tools that come with it, GraphQL became a trending technology in the modern web development world 19 PWA PWA stands for Progressive Web App It’s an app based on web technologies like HTML, CSS, and JavaScript, but with a feel and functionality similar to regular native apps When you open a site that is a PWA, your smartphone will prompt you with a question if you want to install it on your screen PWAs are getting more and more popular every single year 20 Design system Design system is a set of standards created to manage design with predefined and reusable components For example — let’s imagine that you decided to use Material-UI (MUI) as a design system for your product — if you need to implement a new component, there is a high chance that you will find it in the MUI documentation Some of the popular design system examples are Chakra.UI, Ant Design, and MUI 2.4Review Back End technologies Backend technologies are paramount in the development of day-to-day software projects Either you are a startup founder, IT head, or a corporate decision-maker, selecting the right backend technology is crucial to determine your project’s success (Clark, 2022) JavaScript Speedy Development: JavaScript allows developers to use it as both front and backend technology That’s why it is quick and easier to produce both mobile and web applications with this scripting language Less Overhead: This backend technology helps with its built-in features for DOM access and hoop etc This leads to fewer scripting overheads and improves performance Minimalist Backend Technology: JavaScript’s backend platform like Express.js offers Express middleware modules to figure out different development challenges These middleware packages consist of HTTP request logger, error handling, security headers and POST data functions Moreover, JavaScript also an undoctrinaire framework which works without stringent regulations Developers can use middleware of their choice without any restriction Reduce Expenses: JavaScript backend scripting performs in a very efficient manner The same language is used for producing software’s front and server-side coding That’s why it becomes easy to handle in terms of effort and budget Open-Source Community: The scope of improvement becomes lesser without community contribution and feedback Luckily, JavaScript is an open-source community and backend engineers always have the chance to be reviewed Such reviews also lead to an improvement in your backend coding Python Easy to Understand & Code: The core competency of Python is its readability feature Actually, Python’s precise scripting makes it easy to understand and code for both newbies and programmers Sometimes, it also seems like the English sentences Extensive Libraries: The backend programming technology downloads extensive libraries These libraries include codes for unittesting, databases, regular expressions, browsing, and email, etc In short, with the support of extensive libraries, backend engineers don’t have to write each code manually Affordable: Python is open-source and free That is why developers and companies have the chance to use free extensive libraries and other sources for their projects IoT Opportunities: With the help of Python’s modern programming features, you can build physical projects on Raspberry Pi Embeddable: It is easy to insert your Python code in the source code of languages like C++ However, the coder shouldn’t forget the Write Once Run Anywhere (WORA) rule here Ruby Productive: Due to short readable code and 3rd party libraries’ availability, Ruby is a very product backend technology Developers typically need fewer separate documentation with Ruby It allows backend technologies to use already available projects Metaprogramming: Ruby also backs metaprogramming In metaprogramming, the developer scripts code in Ruby, and the program presents the other code itself With flexible tools like ghost methods, introspection, and macros, it is convenient to script in a short duration Libraries: Ruby offers 3rd party modules You can find all of its libraries at RubyGems Testing: Ruby backend technology is also worth-using for the development of high-quality projects These are testing automation features and valuable libraries of Ruby that make it happen Fast & Stable: Compared to other backend scripting languages, Ruby takes 40% less time in developing a code It is also quick for making requests and further processing steps In the same token, Ruby is also more resilient due to its object-oriented characteristics PHP Open Source & Platform Independent: A variety of free PHP libraries are available on the web Coders can use them for fast backend development Though operating systems like Windows, Linux, etc., primarily support PHP, but you can also run PHP web applications on any platform Cost-Effective: With the presence of free and open-source communities, it is quite convenient to code with PHP That is why it is inexpensive to hire a PHP backend developer It also has the second last position among the top paying technologies in the United States as per the 2020 Stack Overflow Developer Survey Simplifies Programming: Instead of using lengthy SQL code, PHP frameworks allow developers to get the benefit of providing objectrelational mapping (ORM) systems Similarly, the use of model-view-controller (MVC) architecture also makes it easy to code serverside functions for developers Best for Beginners: PHP is suitable to learn for first-time backend engineers Features like running sequence and no learning curve make PHP beginners’ choice to learn Automate the Development Tasks: With PHP scripting technology, it is easy to automate development tasks like session management, URL mapping, authentication, etc Security Against Target Attacks: No doubt, developers take PHP as an unsecured backend language But with built-in security functions, you can avoid these threats Java Simple & Highly Scalable: Java EE is highly scalable because it permits numerous instances to server requests Instant availability of Java components and unambiguous syntax technology also makes it simple for developers to use this backend language Multi-Threading: Java allows to handle all requests in independent threads due to a multi-threaded web server With this multithreading feature, Java functions very well for CPU-intensive applications Open-Source Libraries: A variety of open-source libraries such JSON parsing, messaging, PDF, unit testing and excel libraries available for Java Java developers can use these resources to expedite their server-side tasks Security: Java offers terrific features to overcome security risks Likewise, Java Virtual Machines examine java bytecodes to detect and reduce the risk of viruses Similarly, the security model of Java and testing of reusable codes help developers in avoiding security threats C# NET Object-Oriented Language: C# is an object-oriented language that means you can structure your code using classes and relationships It is helpful to implement the system with easy troubleshooting if something goes wrong Cross-Platform: The applications that use the C# backend can operate in different operating systems such as Windows, macOS, etc Please read this article about cross platform frameworks to know more Compatibility: C# applications allow interoperability with older legacy systems This backend scripting technology is also useful for organizations that are not updated and using old programming frameworks Automatic Garbage Collection: C# has the ability to remove all the garbage on the system This feature is beneficial for the quick execution of the program This garbage collection does not let the system hang during the execution of the application Perl Multi-Platform: Perl can operate with distinct platforms, including Macintosh, Windows, and Most UNIX variants Open-Source: Like the other rival backend technologies, Perl also offers open-source and free libraries However, in many cases, they could again ask for small copying charges Embeddable & Extensible: Perl can easily embed in any of C++ and C applications Though SWIG and XS, Perl also backs external libraries of C and C++ Text Processing: Perl is a perfect scripting language for text processing Luckily, Perl’s recent versions also maintain POSIXcompliant systems and process socket calls with other advanced features C++ Portability: Platform independence is one of the critical features of C++ applications You can execute C++ applications on different platforms or operating systems Object-Oriented Programming: C language does not support object-oriented programming, but C++ fulfills this deficiency This feature makes this language more powerful and easy to code with structured programming Memory Management: Programmers get complete control over memory management using C++ It can help the programmer to manage memory effectively to execute the program Low-Level Language: C++ is a low-level language and close to the system Therefore, most of the embedded systems are built in C++ because it can directly interact with the hardware resources Kotlin Concise Code: Programmers can solve more significant problems by writing fewer code lines than in other languages Easy to Maintain: Due to concise code, Kotlin helps the programmers easily read and maintain the code Interoperable with Java: This programming technology is completely compatible with Java Programmers not need to change the whole project to switch to Kotlin With all Java tools & technologies, you can add it to your Kotlin project to implement additional functionalities 10 Scala Concise: This backend programming language combines object-oriented & functional programming That makes the code more concise & more comfortable to maintain Interoperable with Java: Scala runs on JVM, and it is entirely compatible with Java programming language The code can be written in Java & Scala at the same time to get the desired results from the system This seamless integration with Java is beneficial for Java developers to use this backend technology Easy to Maintain: The concise Scala code can easily maintain & programmers can read the code easily It helps the programmers to understand the code quickly, significantly when a project is shifted from one programmer to another 2.5 Review Databases In the domains of information technology, data, programming, and software, the term "database" is often used A database is a collection of data that has been structured, displayed, and is frequently saved It can be accessed through a computer system or it can be found in a database management system as a file Memory media such as memory cards, hard disks, and CDs can also be used to store databases Database plays an extremely important role when working with data systems They help the user to successfully connect the data Users can access the database system faster and easier Database is the source base for users to access the necessary information The most popular database models today File Database: File Database is the most common form and is also the most popular model today Can easily see the files, the information is stored, shared and accessed as File The most common file type database is *.mdb Foxpro Besides, this database also includes other formats such as text, ascii file format, *.dbf file format, etc Relational Database: This is also one of the most widely used data models today In this model, different entities, i.e different data sources, will be aggregated, storing the same data table, and these data must be related to each other Some famous databases that support relational databases include: Oracle, MS SQL Server, MySQL Object-oriented database: This database system is also a pure table of data However, Database adds other object-oriented cases such as: object behavior to represent the behavior of an object These objects are also very clearly hierarchical, each level is called a data layer In simpler terms, they are a collection of groups of objects in the same table and represented by data rows The database management systems that support this Database include: MS SQL Server, Postgres, Oracle Semi-structured databases: Semi-structured databases can store many different types of data And this information and data is usually stored in XML format In this model, information describing data and objects are presented in tags Thanks to this outstanding advantage, the database system is both expanded and convenient to help users easily access the necessary information According to research experts, Semi-structured Database can be a potential new direction in the fields of data technology application 2.6 Review IDEs What is IDE? IDE (Integrated Development Environment) is an integrated environment used to write code to develop applications In addition, the IDE integrates other support tools such as compiler, interpreter, error checker (Debugger), format or highlight code, organize code folders, search code IDE makes it easier and more convenient for you to develop applications, even though you don't need an IDE, you can still write source code, because actually to run the source code of a certain programming language, we just need the corresponding compiler (compiler) of that language The IDE has a built-in compiler or interpreter that helps you execute code directly while you are programming applications, such as Visual Studio, Esclipe, Xcode, Android studio etc 2.7 Review CMS CMS stands for Content Management System, which is the website's content management system that oversees all operations related to the website's content and information On the website, this comprises news, images, videos, categories, contact information, and so on Users can modify, categorize categories, change the interface appearance, and many other sophisticated actions on the website with advanced CMS CMS has an important role in controlling and operating the website With the following basic functions: -Create and store content on the website -Edit, add, remove content -Transfer and share content -Manage and assign user rights CMS brings a lot of benefits to individuals and businesses -Help the website become an effective marketing channel -Help update content -Ensure and maintain consistency for the business 2.8 Review Website Builders As the name implies, a website builder is an online or offline tool that assists you in creating a website Building a website used to need a lot of coding, selecting a web hosting provider, and creating something as complex as an e-commerce portal, which was out of reach for many people Those days are over, thanks to website builders, which are the ideal solution for people and small businesses who want to design a website without having to hire a web developer Advantages of website builder: Don't need too much experience Website builders not only eliminate the need to know how to code, but they can also avoid other technical tasks And most website builders also support hosting, nameservers and domain name registration for you Build by drag and drop One of the most useful features of the website builder is the drag and drop functionality With this, all you have to is literally drag and drop sections of your website until you are satisfied with the final product This gives you complete control over the design and layout of your website In addition, this way of building a website also allows you to create a website extremely quickly Easy to make changes In addition to building your website, making changes is also easy Instead of having to change CSS or HTML files, you can simply tweak the settings to your liking You'll be able to change things like color scheme, font selection, insert images, delete sections, and more with just one click Website management tool included Simply building your website and publishing it online is not enough Most website builders are also equipped with tools like website statistics and report integration, website email addresses, e-commerce integration along with marketing tools to help you get the most out of your new website Quick website building process In the end, website builders make a lot of sense Imagine going from no website at all to having a complete website live on the internet in a few hours, maybe even sooner BEST WEBSITE BUILDERS COMPARED (Rayome, 2022) Free trial? Starting price* Wix "unlimited" w/ ads $16 a month Squarespace 14 days $14 a month Weebly "unlimited" w/ ads $6 a month Most customizable Duda 30 days $14 a month Best no-frills option GoDaddy 30 days $12 a month Best for writers and bloggers WordPress "unlimited" w/ ads $15 a month Shopify 14 days $29 a month BigCommerce 15 days $30 a month Best overall website builder (and best for free) Best prepackaged design Easiest to use Best for basic e-commerce Best for bigger stores 2.9 Evaluate technical notes on all of the topics above The technologies listed above are primarily intended to assist you in creating the most comprehensive website possible The term "front-end technology" refers to the process of creating web interfaces or web elements like buttons, tables, and fonts The part of the interface that displays the outside and interacts with the user is called the front end As a result, it concentrates on the visual, aesthetic, and user-friendly layout Fonts and other designs draw attention to your website The work relating to the database contained inside that is displayed to the server is referred to as the back end With each command given, the key function is to save data and retrieve information promptly and precisely Furthermore, the database aids in the storage of your data in a logical and consistent manner References Bennett, C & C L., 2022 economictimes.indiatimes [Online] Available at: https://economictimes.indiatimes.com/definition/webserver [Accessed 20 2022] Clark, J., 2022 back4app [Online] Available at: https://blog.back4app.com/backendtechnologies/#Top_10_Backend_Technologies_You_Should_Know [Accessed 23 2022] FAQ-ANS, 2021 faq-ans [Online] Available at: https://faqans.com/en/Q%26A/page=bb65b164fa5cf79fb33c9b3dd5d29f0b#s0 [Accessed 20 2022] Gupta, A., 2018 quora [Online] Available at: https://www.quora.com/What-is-the-purpose-of-an-OS-operatingsystem [Accessed 20 2022] iNET, 2022 inetsystems [Online] Available at: https://blog.inetsystems.com/faq/how-are-domain-names-organized-andmanaged [Accessed 20 2022] Insight, C., 2020 kenzie.snhu [Online] Available at: https://kenzie.snhu.edu/blog/front-end-vs-back-end-whats-thedifference/#:~:text=Front%20and%20back%20end%20developers,see%20(the%20server %20side) [Accessed 22 2022] Knieć, A., 2022 netguru [Online] Available at: https://www.netguru.com/blog/front-endtechnologies [Accessed 23 2022] Rayome, A D., 2022 cnet [Online] Available at: https://www.cnet.com/news/best-wordpresshosting/ [Accessed 24 2022] ... 1. 4 Explain the purpose of Server hardware 1. 5 Explain the purpose of Operating systems 1. 6 Explain the purpose of Web server software 10 1. 7... and accessing a website 12 1. 8 Evaluate technical notes on all of the topics above 13 Website technologies, tools and software 13 2 .1 The capabilities and relationships... management services 1. 1 Identify the purpose and types of DNS 1. 2 How domain names are organised and managed 1. 3 Explain the purpose of Communication