Implementare interfata utilizator

Prerequisites: All past steps

Acum ca avem un endpoint configurat, il putem conecta la o interfata pentru utilizatorii de pe internet.

1. Setups:

  • In folderul /js adaugam folderul /components, pe acelasi nivel cu folderul /utils

  • In folderul /components cream fisierele MainPage.jsx si InsertPage.jsx si initializam un function component pt fiecare

// js/components/MainPage.jsx
export default function MainPage() {
	return (
		<div></div>
	)
}
// js/components/InsertPage.jsx
export default function InsertPage() {
	return (
		<div></div>
	)
}
  • In folderul /pages, vom modifica index.js si vom adauga componenta insert.jsx. In ele vom importa componentele definite mai sus pentru a fi desenate in pagina pe rutele /, respectiv /insert din aplicatia noastra web

  • In fisierul tailwind.config.js mai adaugam o linie ('./js/components/**/*.{js,ts,jsx,tsx}') in content

2. Pagina principala

Ca exemplu, vom construi o aplicatie care afiseaza curiozitati pe pagina principala (index). Curiozitatile sunt stocate in baza de date din cloud. Pe pagina /insert, utilizatorii pot introduce curiozitati in baza de date prin intermediul unui formular.

Pentru a adauga functionalitati si a stiliza pagina principala, accesam componenta MainPage - MainPage.jsx

  • Pentru ca lista de curiozitati va fi adusa asincron din baza de date, definim un state gol in function component

  • Accesam API-ul creat anterior si aducem curiozitatile atunci cand un utilizator acceseaza pagina

  • Adaugam componente vizuale stilizate cu tailwind si afisam fiecare curiozitate folosind functia map.

  • Adaugam si un buton prin care sa stergem o inregistrare din baza de date la click + functionalitatea aferenta

  • La final, componenta are urmatorul cod:

  • Aplicatia arata acum astfel (dupa ce am introdus manual cateva date in BD):

3. Pagina /insert

  • In componenta InsertPage introducem un formular cu 2 campuri si un buton de submit

  • Introducem logica de introducere a datelor la click pe butonul submit

  • La final, componenta InsertPage contine urmatorul cod:

  • Pagina /insert arata acum astfel:

  • Trimitem totul in repository-ul remote git.

Acum ca avem o aplicatie functionala, o putem lansa pe internet folosing un serviciu in cloud!

Last updated