The Tech Stack¶
You will write a description of the technologies that will be used to create the Project solution. Use this content and your own research to provide this content.
NOTE: This task can be completed entirely in advance of the task sessions. This will be a huge advantage during the formal assessment period.
The XAMPP Stack¶
Apache¶
Purpose¶
Apache is an open-source web server that delivers web pages to users in response to their requests via HTTP/HTTPS.
Advantages¶
- Free and widely supported.
- Cross-platform (works on Windows, macOS, Linux).
- Highly configurable via .htaccess.
Disadvantages¶
- Performance may lag under very high loads compared to alternatives like Nginx.
- Configuration can be complex for beginners.
MySQL¶
Purpose¶
MySQL is a relational database management system (RDBMS) used to store, manage, and retrieve data in web applications.
Advantages¶
- Fast and efficient for small to medium applications.
- Strong integration with PHP.
- Free under open-source license.
Disadvantages¶
- Lacks some advanced features compared to enterprise-level databases.
- Complex joins can slow performance on large datasets.
Example (SQL SELECT query)¶
SELECT * FROM users WHERE age > 18;
PHP¶
Purpose¶
PHP is a server-side scripting language used to create dynamic web pages and interact with databases.
Advantages¶
- Easy to learn for beginners.
- Deep integration with HTML and MySQL
- Supported by many web hosts.
Disadvantages¶
- Can lead to poor code practices if not structured well.
- Slower than some newer technologies like Node.js.
Example¶
<?php
echo "Hello, World!";
?>
Website technologies¶
HTML5¶
Purpose¶
HTML5 is the latest version of HyperText Markup Language, used to structure content on the web.
Advantages¶
- Supports multimedia (audio, video) natively.
- Improved semantics and accessibility.
- Cross-platform support including mobile.
Disadvantages¶
- Layout styling must be done with CSS.
- Complex UIs require JavaScript or frameworks.
Example¶
<video controls>
<source src="movie.mp4" type="video/mp4">
</video>
CSS3¶
Purpose¶
CSS3 is used to style and visually present HTML content with layouts, colours, fonts, and animations.
Advantages¶
Enables responsive and attractive designs.
Supports transitions and animations.
Reduces the need for image-based designs.
Disadvantages¶
Can become complex with large stylesheets.
Browser compatibility issues still exist in some cases.
Example¶
button {
background-color: blue;
color: white;
transition: background 0.3s;
}
Bootstrap¶
Purpose¶
Bootstrap is a CSS framework for quickly developing responsive and mobile-first websites.
Advantages¶
- Pre-built responsive grid system.
- Includes components like modals, navbars, and alerts.
- Saves time and effort on layout design.
Disadvantages¶
- Can lead to bloated CSS if not customised.
- Websites may look similar if only default styles are used.
Example¶
<button class="btn btn-primary">Click me</button>
Javascript¶
Purpose¶
JavaScript is a client-side scripting language used to add interactivity to web pages (e.g., forms, animations, dynamic content).
Advantages¶
- Runs in the browser (no server needed for basic tasks).
- Supports DOM manipulation, events, and APIs.
- Core to modern front-end development.
Disadvantages¶
- Can be misused to create security vulnerabilities (e.g., XSS).
- Browser compatibility sometimes requires polyfills.
Example¶
document.getElementById("demo").innerHTML = "Hello!";