Realizzare un'applicazione web che consente la gestione di aste online. Il sito è composto da due pagine, una per monitorare lo stato delle proprie aste vendute e per crearne di nuove, l'altra per cercare aste di altre utenti a cui poter far offerte.
Implementare il progetto in due versioni:
- Versione HTML pura
- Versione RIA
Per la versione RIA è richiesto che tutto, escluso il login, avvenga all'interno di una singola pagina web.
La prima versione del sito è implementata unicamente tramite HTML, CSS e Java per le Servlet. Tutte le richieste di aggiornamento producono il rendering di una nuova pagina a lato Server e l'invio al client mediante redirect o forward. Per il rendering delle pagine si fa uso di Thymeleaf.
Per la seconda versione si è fatto uso di HTML, CSS, Java per le Servlet e JavaScript per il controllo a lato client. JavaScript viene utilizzato per:
- Navigazione tra le varie sezioni dell'interfaccia
- Controllo e validazione a lato client dei dati prima di inviare le richieste, con eventual gestione locale degli errori
- Fetch dei dati dal Server con richieste asincrone e aggiornamento dell'interfaccia senza il ricaricamento dell'intera pagina.
Entrambe le versioni basano il proprio Backend su un Database MySQL.
Qui è possibile visionare il progetto del Database.
Qui è possibile scaricare lo script di creazione del Database.
Qui invece è presente uno script che riempie il Database con dei dati fittizi. A questi dati vanno abbinate delle immagini, presenti nel seguente zip.
La cartella in cui le immagini sono posizionate va specificata all'interno del file .env di ognuna delle due versioni del progetto.
La documentazione completa del progetto è consultabile qui
Il progetto è stato testato sui seguenti browser
Il progetto ha ricevuto una valutazione di 30/30
Build a web application that allows users to handle online auctions. The website consists of two pages, one to monitor the auctions sold by the user and to create new ones, the other to search for auctions from other users to send offers to.
Implement the website in two versions:
- Pure HTML version
- RIA version
For the RIA version it's required that everything, login excluded, happens inside a single web page.
The first version of the website is implemented with just HTML, CSS and Java for Servlets. All update requests result in the server-side rendering of a new page that is then sent to the user via either redirect or forward. Page rendering is done using Thymeleaf.
The second version made use of HTML, CSS, Java for Servlets and JavaScript for client-side control. JavaScript is used for:
- Navigation between the various sections of the UI
- Client-side check and validation of data before sending the requests, with possible local handling of errors
- Fetching data from the Server with async requests and UI refresh without reloading the whole page.
Both versions base their Backend on a MySQL database.
Here it's possible to see the Database's design.
Here it's possible to download the Database creation script.
Here there is a script that fills the Database with some fictious data. These must be bundled with some images, which can be found in the following zip.
The folder in which the images are located must be specified inside the .env file for each version of the project.
The complete documentation for the project can be found here
The project has been tested on the following browsers
The project received a grade of 30/30