Basic Project Requirements
The basic requirements for the project are the following:
-
Website topic: the choice is completely free.
-
Development tools: especially for students who do not have any (real) experience in building websites, it is better not to
use WYSIWYG tools (i.e., programs that allow visual composition of pages and automatically generate HTML/CSS/JavaScript code) or
content management systems (such as WordPress): to properly master web languages, it is necessary to actually practice with them.
It is not forbidden to use content management systems, but your contribution must be clearly evident (for example, in terms of changes to the basic CSS).
To locally test PHP and MySQL/MariaDB server-side functionalities, the Apache web server,
PHP application server and MySQL or
MariaDB DBMS can be downloaded from their websites. Alternatively, the
WAMP (Windows),
MAMP (Windows and macOS) or XAMPP (Windows, macOS, and Linux)
packages can be used, which install the different components from single executables.
-
Number of pages: there is not a specific rule (indicatively, at least five).
-
Code: the "look and feel" of the website, including the layout, must be defined through (external) CSS;
no deprecated tags or attributes can be used. All links should be relative. The HTML code should be HTML5
(the W3C Markup Validation Service can be exploited to check the pages). The direct use of
ready-made HTML/CSS templates is of course discouraged, unless a strong (and clearly identifiable) personalization is introduced.
Similarly, frameworks (such as Bootstrap) can be used as long as there is a clear and explicit contribution from you,
both in the structure of the page (HTML) and in the style/layout (CSS).
-
Layout: it should not be simply "linear" (i.e., at least one page should use a positioning different from normal flow).
-
Usability/Accessibility: the website should be designed according to the (very) basic usability and accessibility rules
discussed in the course.
-
Client-side functionalities: JavaScript must be used in at least one page. Optionally, in addition, other technologies can
be exploited (e.g., Angular, React, etc.). Ready-made examples (also based on the jQuery library) can be used,
provided that they are personalized in some way.
-
Server-side functionalities: a server-side "behavior" resulting from the interaction with an application server and a remote
database must be included in at least one page (e.g., to process data from a form). Instead of PHP and MySQL/MariaDB, other application servers
or similar technologies (e.g., Node.js and CGI programs) and DBMSs can be used, if preferred. Like for client-side functionalities,
ready-made examples can be employed, provided that they are personalized in some way.
Back to the Exam page