Sviluppa una piccola app React Native per risolvere uno dei tipici problemi che affrontiamo ogni giorno
Al termine delle challenge inviaci il progetto tramite un archivio .zip o il link ad un repo Github/BitBucket/Gitlab
Puoi utilizzare ogni libreria o tool che reputi necessaria a raggiungere il tuo obiettivo (ti consigliamo Expo o il nostro starter kit per partire il piu' velocemente possibile)
Cerca di approcciare il progetto come se stessi realizzando una soluzione da rilasciare in produzione
Una nostra API ritorna delle informazioni relative a degli utenti ed i loro metodi di pagamento
Ogni utente può avere più metodi di pagamento ma solo un metodo di pagamento di default
L'url dell'API è https://mz37bp4toc.execute-api.eu-west-1.amazonaws.com/challenge/users
L'API potrebbe non essere sempre disponibile e ritornare randomicamente errori 500
I dati vengono ritornati come una collezione di oggetti, ad esempio:
{
id: "ba8f3d2b-d1dd-788f-32e3-97719e8b7f61",
name: "Milena",
surname: "Nannelli",
email: "wumtewu@mo.gs",
username: "milena.nannelli",
signup_date: "2017-12-24T00:01:41.159Z",
PaymentMethods: [
{
id: "12868bd7-0e59-6f22-379c-1a8cec2ece51",
type: "Banca Popolare",
currency: "eur",
name: "098-59-5816",
ending_with: 9236,
default: false
},
{
id: "352872cf-db14-811b-781d-e43f7c7f8abe",
type: "CC di nonna",
currency: "usd",
name: "600-17-3878",
ending_with: 5212,
default: true
}
]
}
Questi dati devono essere presentati all’interno di un elenco di utenti che mostra l'username ed il nome del metodo di pagamento di default.
Deve essere possibile mostrare maggiori informazioni riguardo un singolo utente e tutti i suoi metodi di pagamento cliccando su un pulsante ‘Dettagli’ che apre una seconda schermata con le informazioni aggiuntive.
L’API ritorna 50 risultati alla volta per cui è necessario implementare un sistema
paginazione per recuperare le altre pagine dell’elenco.
Si può richiedere una specifica pagina all’API passando in query string il parametro page
e l’indicazione della pagina richiesta
https://mz37bp4toc.execute-api.eu-west-1.amazonaws.com/challenge/users?page=42
Non è possibile avere informazioni riguardo al numero di utenti totali per cui la paginazione potrà essere implementata tramite dei semplice Next/Previous.
Una volta che hai correttamente implementato una lista, integra le seguenti funzionalità. :
Nota: le operazioni di filtro/ricerca devono essere eseguite localmente, un API sarebbe meglio ma in questo modo puoi farci vedere come sai lavorare coi dati
Se ti stai divertendo o finisci presto potresti considerare i seguenti extra, puoi implementarli in codice o scriverci un paragrafo in cui spieghi come li faresti
A presto per la code review!