Skip to content

exercise used by S'NCE group to evaluate candidates' tech skills

License

Notifications You must be signed in to change notification settings

ValseD/PIM-S_NCE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PIM-S'NCE

This is a PHP development exercise which purpose is to implement a basic PIM system, required to accomplish the tech interview for S'NCE candidates.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You must have an Apache/MySQL/PHP software platform pre-installed on your system This version has been developed on XAMPP.

Installing

A step by step series of examples that tell you how to get a development env running

  • Install the last version of Symfony following the steps described in the official website

  • Install the last version of Composer as described in the official website

  • Start your Apache/MySQL/PHP platform to activate the local instance of the http and database servers

  • Clone this project into a folder under ..\htdocs

  • Change the file "app/config/parameters.yml" with all the reference of your mySQL instance

  • Open the Apache file and add the node related to the local folder where the project has been cloned on the localhost:80 port as the example below:

    <VirtualHost *:80> > This first-listed virtual host is also the default for *:80 > ServerName www.example.com > ServerAlias example.com > DocumentRoot "/www/domain"

  • Browse the project folder using the terminal

  • Run command: composer install to install dependencies

  • Run command: php bin/console doctrine:database:create

  • Run command: php bin/console doctrine:migrations:migrate

  • Open your browser and digit: localhost:80

===========

Specifiche S'NCE:

===========

  1. Pagina "Crea Prodotto" La pagina risponde alla rotta /product/create Come amministratore del sito voglio poter inserire una nuova tipologia di prodotto all'interno di un catalogo.
  • Voglio definirne il nome
  • Voglio poter caricare un'immagine
  • Voglio poter inserire una descrizione
  • Voglio poter aggiungere uno o più tag (almeno uno è obbligatorio) al prodotto
  1. Pagina "Listato Prodotti" La pagina di listato risponde alla rotta /product/list Come amministratore del sito voglio vedere il catalogo di tutti i prodotti da me inseriti in una lista, dove vedo il nome e un'anteprima dell'immagine ridotta, i prodotti sono ordinati per data di creazione. Vedo la data di creazione accanto a ciascun prodotto. Voglio inoltre poter filtrare per ricerca LIKE sul nome dei tag associati.

  2. Pagina "Edit Prodotto" La pagina di modifica risponde alla rotta /product/{product}/edit Come amministratore del sito cliccando sul link di una riga della lista o sull'immagine, voglio andare al form di modifica delle proprietà del prodotto.

Richieste implementative:

=========================

  • Il progetto deve essere realizzato utilizzando Symfony4
  • Doctrine 2 deve essere utilizzato per la gestione del Database
  • Usa i Bundle/Package/Component in maniera significativa
  • Puoi usare qualsiasi bundle o package per gestire l'upload delle immagini col framework scelto
  • Correda il repository di un README.md in inglese che aiuti nella configurazione del progetto
  • Non serve che tu implementi un meccanismo di autenticazione per l'area amministrativa
  • Utilizza i Repository di Doctrine 2

Il lavoro valutato per:

=====================

  • Completezza rispetto alle specifiche
  • Organizzazione e struttura del progetto
  • Organizzazione e struttura del codice
  • Eleganza delle soluzioni adottate

Modalità di rilascio:

=====================

  • Il progetto deve essere rilasciato su repository pubblico github

About

exercise used by S'NCE group to evaluate candidates' tech skills

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published