Zadania zrealizowane w tym sprincie
- Wstępne ułożenie menu, wrócę do tego jak będzie możliwość tworzenia obiektów
- Integracja z next-intl
- Dodanie selekta do zmiany języka
- Wdrożenie komponentu Table
Problematyczne stało się to co zakładałem że rozwiąże w jeden wieczór, a mianowicie wdrożenie next-intl oraz połączenie to, z już wdrożonym NextAuth.js
Następnym o wiele ciekawszym zadaniem było stworzenie komponentu Table który miał za zadania generowanie tabel dla wszystkich listingów i chyba się to udało:
<Table slug="posts" title="Posts" />
Gdzie atrybut slug to symbol endpointa do pobierania danych do tabeli:
const fetchData = async () => {
const response = await fetch(`/api/${slug}?page=${page}&pageSize=${pageSize}&sortField=${sortField}&sortOrder=${sortOrder}&filter=${filter}`);
const result = await response.json();
setData(result.items);
setTotalItems(result.totalItems);
if (result.items.length > 0) {
setColumns(Object.keys(result.items[0]));
if (!sortField) {
setSortField(Object.keys(result.items[0])[0]);
}
}
};
Ten post jest częścią projektu SaaS - Storylito.com, gdzie dzielę się doświadczeniami i postępami w budowaniu aplikacji SaaS. Chcesz dowiedzieć się więcej o tym projekcie, jak rozwijam Storylito i jakie technologie stosuję? :
- Start projektu SAAS
- Hormonogram pracy
- Sprint 1: Konfiguracja i planowanie
- Sprint 1: Konfiguracja i planowanie – podsumowanie
- Sprint 2: Struktura danych i autoryzacja
- Sprint 2: Struktura danych i autoryzacja - podsumowanie
- Sprint 3: Tabele, listowanie obiektów i i18n
- Sprint 3: Tabele, listowanie obiektów i i18n - podsumowanie
- Sprint 4: Edycja i tworzenie obiektów
- Sprint 4: Edycja i tworzenie obiektów - podsumowanie
- Sprint 5: Style