Skip to content

This programming challenge is designed to evaluate your skills as a software engineer, specifically in the area of web development with PHP and the Laravel framework. The challenge involves building a web application that generates a product report from a CSV file.

License

Notifications You must be signed in to change notification settings

cellicom/Code-Challenge-Laravel

 
 

Repository files navigation

Code-Challenge-Laravel

Questa sfida di programmazione è progettata per valutare le tue capacità di ingegnere del software, in particolare nell'area dello sviluppo web con PHP e il framework Laravel. La sfida prevede la creazione di un'applicazione Web che generi un rapporto sul prodotto da un file CSV e la scrittura di test per l'applicazione utilizzando PHPUnit.

Istruzioni

  • Effettua il fork di questo repository e clonalo sul tuo computer locale.
  • Crea una nuova applicazione Laravel nella directory del repository clonato.
  • Scrivere il codice PHP da leggere nel file products.csv che si trova nella directory /storage/app e generare un report del prodotto in formato HTML.
  • Il design della pagina HTML non è rilevante per la valutazione, sentiti libero di mostrare una semplice tabella.
  • Fornire gli stessi dati, tramite api, /products, per eseguire i test PHPUnit
  • Il rapporto sul prodotto deve includere le seguenti informazioni:
    • Entrate totali di tutti i prodotti
    • Entrate totali nella prima metà del mese
    • Entrate totali nella seconda metà del mese
    • Numero totale di prodotti in ciascuna categoria
    • Prezzo medio dei prodotti in ogni categoria
  • Verificare che i test PHPUnit vengano superati. Sentiti libero di aggiungere altro se necessario.
  • Invia le tue modifiche al tuo repository biforcuto.
  • Notifica al valutatore che hai completato la sfida.

Regole

  • Hai 90 minuti per completare la sfida.
  • Puoi utilizzare qualsiasi risorsa a tua disposizione, inclusa la documentazione e Google.
  • Il tuo codice deve essere scritto in PHP utilizzando il framework Laravel.
  • Il tuo codice deve essere ben organizzato e facile da capire.
  • Il tuo codice dovrebbe aderire alle migliori pratiche di Laravel.
  • Il codice deve essere documentato con commenti chiari e/o documentazione in linea SOLO se necessario.
  • Puoi aggiungere altri test PHPUnit, se necessario.
  • È possibile eseguire il refactoring di codice/test esistenti, se necessario.
  • Il tuo codice dovrebbe essere impegnato in un nuovo ramo nel tuo repository biforcuto.
  • Non imbrogliare o plagiare. Il valutatore si riserva il diritto di squalificare qualsiasi invio sospettato di frode.

Definizione di Fatto

  • Il caso di test PHPUnit passa senza fallimenti o errori.
  • Il file CSV viene letto ed elaborato correttamente e nella vista vengono visualizzati i risultati corretti.

Valutazione

La tua soluzione sarà valutata in base ai seguenti criteri di accettazione:

  • Il programma dovrebbe essere in grado di leggere il file CSV di input e memorizzare i dati in una struttura dati appropriata.
  • Il programma dovrebbe essere in grado di calcolare il numero totale di prodotti in ciascuna categoria.
  • Il programma dovrebbe essere in grado di calcolare il prezzo medio dei prodotti in ciascuna categoria.
  • Il programma dovrebbe essere in grado di calcolare le entrate totali generate da tutti i prodotti nel file CSV.
  • L'output del programma dovrebbe visualizzare i risultati nel formato specificato.
  • Il programma deve essere scritto in modo che sia facile da leggere, gestire e comprendere da altri sviluppatori.
  • Il programma deve essere privo di errori di sintassi, errori di runtime ed errori logici.
  • Il programma dovrebbe essere efficiente e scalabile, in grado di gestire file CSV più grandi senza problemi di prestazioni.
  • Il programma dovrebbe seguire buone pratiche di programmazione, come l'uso di nomi di variabili appropriati, commenti sul codice e indentazione.
  • Il programma dovrebbe utilizzare le librerie di supporto Laravel quando necessario
  • Il programma deve essere presentato entro il tempo stabilito di 90 minuti

Buona fortuna!

About

This programming challenge is designed to evaluate your skills as a software engineer, specifically in the area of web development with PHP and the Laravel framework. The challenge involves building a web application that generates a product report from a CSV file.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 77.2%
  • Blade 21.7%
  • Other 1.1%