Passa al contenuto principale Passa al piè pagina

Backend Web Developer

Presentazione

Ciao e benvenut*!

Questa è una coding challenge di Lascaux. Un modo per testare le proprie capacità con una sfida nel mondo della progettazione e realizzazione di un prototipo software. La prova fa parte del processo di acquisizione talenti e viene proposta a tutti i candidati nell’ambito di sviluppo software. Ma anche se non fai parte di questo gruppo, e hai trovato questo documento, non ti preoccupare. Puoi inviarci il tuo contributo e lo valuteremo! Ma in quel caso, non dimenticare di includere anche il tuo CV 🙂

Obiettivo

Creare un’applicazione web per la gestione dei film di un multisala. L’applicazione dovrà permettere la visualizzazione della lista dei film messi in programmazione in un cinema multisala, al fine di organizzare uno storico consultabile dai gestori.

Descrizione scenario

Il committente

Il cinema multisala “CineMille” sito in via Roma a Firenze (FI)..

Lo scenario

Il cinema “CineMille” è un esercizio storico dell’area fiorentina, nonché uno dei più grandi presenti in Toscana. Dispone di 12 sale di proiezione, di cui 2 in tecnologia IMAX. Le sale hanno una capienza differente, con le più grandi che dispongono di 250 posti ciascuna fino alle più piccole da circa 50 posti a sedere.

Attualmente la programmazione delle proiezioni nelle sale viene aggiornata con cadenza settimanale: tali informazioni sono gestite mediante scambio di dati contenuti in file Excel. Ciascun film può rimanere in sala per un massimo di tre settimane e per un minimo di una, a partire dalla data di uscita dello stesso.

La società che gestisce il cinema vuole dotarsi di uno strumento per la programmazione e la gestione dei film di un multisala al fine di ottimizzare a pianificare la loro permanenza in sala. L’applicazione dovrà permettere la visualizzazione della lista dei film messi in programmazione nel multisala, al fine di organizzare anche uno storico consultabile dai gestori. Tale applicativo sarà utilizzato anche come fonte dati per visualizzare i film attualmente in sala sul sito web del cinema a beneficio del pubblico.

Obiettivo

Realizzare un’applicazione web per la gestione della programmazione dei film nel cinema multisala, rispettando i vincoli tecnici e funzionali descritti nel paragrafo.

Vincoli tecnici e funzionali

ID
Nome
Descrizione
RF1
Elenco film
L’applicativo deve consentire di visualizzare una lista dei film in programmazione, con possibilità di filtrare per data di inizio/data fine. In questo modo è possibile recuperare quali sono i film in programmazione per ciascuna settimana.
RF2
Storico
Deve essere possibile per i gestori della piattaforma accedere allo storico completo della programmazione dei film passati.
RT1
Schema logico
Ipotizzare uno schema logico dell’applicativo, preferibile in notazione UML
RT2
Backoffice e REST API
Realizzare un prototipo applicativo in Spring Boot (JAVA) per l’esposizione di un web service REST in GET per la visualizzazione della lista dei film. Puoi immaginare uno scheda ed una struttura dati da visualizzare nell’applicativo. Per la creazione di un’applicazione Spring Boot fare riferimento alla guida https://spring.io/guides/gs/spring-boot/
RT3
Frontend
[Opzionale] Realizzare un prototipo applicativo in Angular per l’interfaccia. Nell’interfaccia deve essere possibile visualizzare l’elenco dei film recuperati dal servizio REST.

Deliverables

I materiali che ci aspettiamo potrai creare:

  • Repository per il codice sorgente (puoi caricare il lavoro su GitHub o simili e inviarci il link; non sono accettati ZIP o TAR)
  • Una breve presentazione del lavoro svolto (PowerPoint, Keynote, PDF, Web)
  • Altri documenti a tua discrezione (diagrammi UML, documentazione, etc…)

Se hai domande sulla sfida o qualcosa non è chiaro, siamo aperti al confronto e a fornirti informazioni aggiuntive. Questo potrà contribuire anche al miglioramento del documento che stai leggendo.

Consegna

La consegna può avvenire inviando un’email a [email protected]. Ricordati di indicare almeno il tuo nome e cognome, dove hai trovato la sfida e perché la stai inviando.

Impegno

Sei libero di scegliere l’effort da dedicare a questa sfida. Sappiamo però che questa attività richiede tempo ed energie. Non vogliamo che diventi un peso. Noi ti chiediamo di impegnarti per non più di 8 ore e di consegnare il materiale entro 4 giorni dall’avvio.

Uso del materiale

Questa è una sfida di fantasia, non ha alcuno sviluppo commerciale o realmente applicabile. Lascaux non userà questo materiale per altri fini se non quello della valutazione delle tue capacità. Ogni altro eventuale uso sarà da concordare insieme.

Criteri di valutazione

Per la valutazione sarà assegnato un punteggio per ciascuno dei moduli descritti negli obiettivi. Sarà eventualmente valutato anche il codice parzialmente funzionante o lo pseudocodice realizzato.

  • Schema architetturale/logico dell’infrastruttura (6 pt)
  • Realizzazione del prototipo software
    • Backend – Spring Boot (10 pt)
    • Frontend – Angular [Opzionale] (4 pt)

That’s all!

Nel ringraziarti già per il tempo che impegnerai ti auguriamo buon lavoro. Ma soprattutto non dimenticare di divertirti!


Il Team Prodotti di Lascaux, www.lascaux.it, www.askmesuite.com