An open API service indexing awesome lists of open source software.

https://github.com/lucapolese/qtdrive

Progetto di Programmazione ad Oggetti UniPD : software che simula l'accesso multiplo a servizi di Cloud Storage
https://github.com/lucapolese/qtdrive

cloudstorage cplusplus-11 oop qt unipd-mathematic-department

Last synced: 4 months ago
JSON representation

Progetto di Programmazione ad Oggetti UniPD : software che simula l'accesso multiplo a servizi di Cloud Storage

Awesome Lists containing this project

README

          


Logo QtDrive

![GitHub Workflow Status](https://img.shields.io/github/workflow/status/LucaPolese/QtDrive/Qt)
![GitHub top language](https://img.shields.io/github/languages/top/LucaPolese/QtDrive)
![GitHub issues](https://img.shields.io/github/issues/LucaPolese/QtDrive)
![GitHub pull request](https://img.shields.io/github/issues-pr/LucaPolese/QtDrive)
![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)
![GitHub last commit](https://img.shields.io/github/last-commit/LucaPolese/QtDrive)

Progetto di **Programmazione ad Oggetti** dell'A.A **2020/2021**

Corso di **Laurea in Informatica** presso **Università degli Studi di Padova (UNIPD)**

Sviluppato da:
* **Alessandro Poloni** 1224444
* **Luca Polese** 1225425

### Premesse al progetto
Abbiamo sviluppato questo software per il corso di Programmazione ad Oggetti, poichè parte essenziale della valutazione dell'esame e delle competenze apprese dallo studente.

Lo scopo di sviluppare questo genere di progetti è quello di familiarizzare con il framework Qt, sia dal punto di vista di coding che da quello di gestione delle interfacce.

Il Prof. *Ranzato*, docente del corso, ha dato carta bianca relativamente alla tematica del progetto, imponendo però alcuni vincoli progettuali (varianti di anno in anno).

### Scopi del progetto
* Comprendere sul campo, come adottare il polimorfismo e perchè risulta necessario nel contesto della Programmazione ad Oggetti
* Realizzare una gerarchia di tipi, con numero di livelli >= 2
* Sviluppare un contenitore con le sue funzioni

Il risultato dovrà perciò essere un applicativo che permetta di collegare i punti sopra citati: un software funzionante che consenta l'interazione con la struttura dati e con la gerarchia, per mezzo delle funzioni di aggiunta, modifica, cancellazione e ricerca dei relativi oggetti.

### Obiettivi dell'applicazione
Con il recente avvento della rivoluzione 4.0, sempre più aziende hanno offerto, al pubblico e al privato, vari servizi tecnologici che hanno così permesso di diffondere rapidamente l’innovazione digitale.

Al giorno d’oggi, ciascuno di noi possiede almeno un account di un qualche servizio di cloud storage. Il problema maggiore che però possiamo riscontrare durante il suo uso quotidiano è proprio l’assenza di un modo per poter accedere alle informazioni in essi contenuti tutte in una volta sola.

L’idea alla base del nostro progetto, è stata quella di **simulare** e **semplificare l’accesso** contemporaneo a dei servizi di cloud storage, utilizzando un solo software.

Ogni account presenta caratteristiche comuni, ma differiscono principalmente nella quantità massima di spazio incluso nel servizio e dalle opportunità offerte singolarmente dalle aziende esistenti, che però *non dipendono strettamente da quanto abbiamo sviluppato*.

*Per maggiori dettagli implementativi si rimanda alla lettura delle relazioni:*
- [Relazione Alessandro Poloni](relazionePoloni.pdf)
- [Relazione Luca Polese](relazionePolese.pdf)

### Dettagli relativi allo sviluppo del progetto

| Voce | Dettagli |
| --- | --- |
| **Linguaggio di programmazione** | `C++` |
| **Tempo di sviluppo** | 55+ ore |
| **Framework e librerie usate** | STD, Qt |
| **Compatibilità verificate** | Windows, Linux |
| **Versione di C++** | C++11 |
| **Versione di Qt** | 5.12.5, 5.9.5 |

### Valutazione finale del Prof.Ranzato

Il progetto è stato valutato come **Eccellente**, progetto **da lode**.

### Licenza ed informazioni per l'uso

Questo software è stato pubblicato con una licenza di tipo **GNU General Public License v3.0**.

> La pubblicazione di questo lavoro, vuole consentire ai futuri studenti del corso di prendere ispirazione per quanto riguarda la gestione delle informazioni o per la comprensione del meccanismo del pattern Model-View-Controller adottato con Qt.\
Allo studente è severamente vietato riutilizzare questo progetto, parzialmente o integralmente, poichè andrebbe contro lo *spirito* dell'assignment, ma anche contro le suw regole: ogni violazione verrà punita severamente con sanzioni molto importanti da parte dell'Ateneo.\
Chiunque verrà sorpreso a copiare da questo progetto, verrà **immediatamente** segnalato al Prof.Ranzato: ogni richiesta di copiatura non verrà in alcun modo autorizzata e nemmeno presa in considerazione.

**Buono Sviluppo Coders!**