sprint 7 ‐ connect your tribe ‐ week 2 - julia-stevens/i-love-web GitHub Wiki
Sprint 7 - Connect Your Tribe
Week 2
Maandag 10 februari 2025
Sprintplanning
Ik heb een sprintplanning gemaakt met mijn groepje:
Sorteren, Filteren, Zoeken & Squadpage ontwerpen
Zie in deze issue mijn schetsen en high-fi ontwerpen in Figma. Bekijk hier ook de uitwerkingen van de workshop m.b.t. het zoeken, filteren en sorteren met Directus.
Dinsdag 11 februari 2025
Vandaag ben ik verder gaan werken aan het bouwen van de squadpage. Ik heb een stylesheet gemaakt en gewerkt aan de vormgeving van de pagina.
Ik merk dat ik erg vastloop met het filteren op de favoriete kleuren, en ik weet nog niet goed ik doe moet toepassen met een filter.
Ik heb inmiddels wel de juiste fetch link, namelijk:
"https://fdnd.directus.app/items/person/?fields=fav_color&filter[fav_color][_neq]=null&groupBy=fav_color&aggregate[count]=fav_color&sort=-count.fav_color&filter{_and:[{squads:{squad_id:{tribe:{name:FDND%20Jaar%201}}}},{squads:{squad_id:{cohort:2425}}}]}"
Woensdag 12 februari 2025
URL design
Ik loop nog erg vast met het maken van nieuwe routes en url's. Ik begrijp nog niet helemaal hoe ik dit moet verwezenlijken.
Donderdag 13 februari 2025
Met hulp van Suus begrijp ik hoe ik nieuwe routes kan aanmaken in de server.js
hiermee heb ik een statische en dynamischere app.get
gemaakt:
// statisch
app.get('/kleur/zwart', async function (request, response){
const hexcode = "9914e1";
const personResponse = await fetch(`https://fdnd.directus.app/items/person/?sort=name&fields=name,github_handle,avatar,fav_color&filter={"fav_color":"%23${hexcode}"}&filter{_and:[{squads:{squad_id:{tribe:{name:FDND%20Jaar%201}}}},{squads:{squad_id:{cohort:2425}}}]}`)
const personResponseJSON = await personResponse.json()
response.render('kleur.liquid', {persons: personResponseJSON.data})
})
// dynamisch --> kleur is nieuwe pagina
app.get('/kleur/:fav_color', async function (request, response){
let hexColor = request.params.fav_color;
hexColor = hexColor.slice(1);
const personColorResponse = await fetch(`https://fdnd.directus.app/items/person/?sort=name&fields=name,github_handle,avatar,fav_color&filter={"fav_color":"%23${hexColor}"}&filter{_and:[{squads:{squad_id:{tribe:{name:FDND%20Jaar%201}}}},{squads:{squad_id:{cohort:2425}}}]}`);
const personColorResponseJSON = await personColorResponse.json();
response.render('kleur.liquid', {persons: personColorResponseJSON.data})
})
Op basis van deze code, heb ik met Joost met de request.query.fav_color
een vernieuwde app.get
gemaakt:
app.get('/', async function (request, response) {
const colorsResponse = await fetch(`${apiEndpoint}/${fieldFavColor}${filterOnlyFilledFavColor}${groupByFavColor}${countFavColor}${sortByCountFavColorDesc}${filterStudentsCurrentYear}`)
const colorsResponseJSON = await colorsResponse.json()
let personResponseJSON
if(request.query.fav_color) {
let hexColor = request.query.fav_color;
hexColor = hexColor.slice(1);
const personResponse = await fetch(`${apiEndpoint}/${sortByName}${fields}&filter={"fav_color":"%23${hexColor}"}${filterStudentsCurrentYear}`)
personResponseJSON = await personResponse.json();
} else {
const personResponse = await fetch(`${apiEndpoint}/${sortByName}${fields}${filterOnlyFilledFavColor}${filterStudentsCurrentYear}`)
personResponseJSON = await personResponse.json();
}
response.render('index.liquid', {persons: personResponseJSON.data, squads: squadResponseJSON.data, colors: colorsResponseJSON.data})
})
Ik ben ook aan de slag gegaan met het leesbaarder schrijven van de fetch links & het vertonen van de actieve filter radio:
Vrijdag 14 februari 2025
Code/design review
Gegeven feedback
Ontvangen feedback
https://github.com/julia-stevens/connect-your-tribe-squad-page/issues/4
Concepten vergelijken & nieuwe ideeën schetsen
We love web - Kilian Valkhof
Bekijk hier mijn aantekeningen van de We love web van Kilian