Skoluppgift i kursen "Interaktion med CMS", Nackademin. En första trevande erfarenhet av backend i kombination med frontend. InlÀmningsuppgift dÀr jag jobbat med API:er och att skapa en headless CMS genom STRAPI (https://strapi.io/) och Javascript. I projektet har jag Àven fingrat pÄ backend och ytterst lite node.js
PÄ grund av en bugg i post-funktionen (axios post) sÄ fungerar den inte alltid, response-delen körs inte alltid igÄng Àven fast request skickas till servern. Vi tror att det Àr en bugg som ligger hos strapi, men ej sÀkert. Detta gör iallafall att vissa funktioner inte alltid Àr pÄlitliga, och att mycket tid i projektet gick ut pÄ att felsöka detta problem, istÀllet för att förfina koden.
Funktioner som saknas men som kommer att tillkomma nÀrhelst jag hinner:
- à terstÀlla lösenord
- Kunna ta bort en bok man laddat upp (DELETE)
- Att sortera efter genre
Verktyg: Axios Postman Strapi Node.js Visual Studio Code
Metoder: Querystrings Post-method & Get-method (axios) Async functions Headless CMS
SprÄk: Javascript CSS/SASS HTML5
NÄgra problem som jag löste pÄ mitt sÀtt: I Strapi kringgick jag problemet (de jobbar pÄ att fixa det) med att Users för tillfÀllet inte visar upp nÄgot pÄ populate=* genom att göra Relation mellan Users och Books/Audiobooks.
Instruktioner: Individuellt projektarbete - BookDucks
Du har fÄtt i uppdrag att ta fram en applikation för ett community vid namn BookDucks som lÄnar/utbyter böcker och ljudböcker pÄ CD med varandra.
Backend
Du ska anvÀnda Strapi som CMS.
Genom CMS-grÀnssnittet ska man kunna lÀgga till:
En bok med dess titel, författare, antal sidor, betyg (valfri skala t.ex 1-10), samt en bild pÄ bokomslaget.
En ljudbok med dess titel, utgivningsdatum, lÀngd, betyg (valfri skala t.ex 1-10), samt en bild pÄ bokomslaget.
Samtliga böcker och ljudböcker ska Àven vara kopplad till en registrerad anvÀndare (som relation, id eller annat sÀtt) som lÄnar ut boken/ljudboken. (Du kan skapa upp anvÀndare med Strapis inbyggda User-collection type).
(VG) Samtliga böcker och ljudböcker ska Àven ha en eller flera av följande genrer: Romantik, humor, skrÀck, barnvÀnlig, fantasy, sci-fi, action. (Skapa en content-type för dina genrer. Du kan ocksÄ skapa egna genrer om du vill.
Frontend
AnvÀndaren ska kunna se en lista pÄ samtliga böcker och ljudböcker som finns tillgÀngliga för utlÄning. Skriv ut samtliga egenskaper för böckerna/ljudböckerna. Skriv Àven ut kontaktuppgifter för anvÀndaren som lÄnar ut boken/ljudboken (anvÀndarnamn samt email).
Det ska vara möjligt för en anvÀndare att logga in samt registrera sig pÄ sidan.
Det ska tydligt framgÄ om anvÀndaren Àr inloggad i applikationen.
Det ska finnas en profilsida - Denna sida ska dock krÀva inloggning för att visas.
Profilsidan som visar information om anvÀndarens anvÀndarnamn, email, id, samt vilket datum anvÀndaren registrerade sig. (VG) Sidan ska Àven innehÄlla en lista över samtliga böcker och ljudböcker som anvÀndaren har lagt ut för utlÄning.
(VG) - Det ska Àven finnas ytterligare en sida dÀr registrerade anvÀndare kan lÀgga ut böcker och ljudböcker för utlÄning. Denna sida ska krÀva att anvÀndaren Àr inloggad. Se till att anvÀndaren kan lÀgga till samtliga egenskaper för boken/ljudboken, inklusive bild pÄ bokomslag och genrer.
Sidan ska ha ett professionellt utseende.
Sidan ska fungera utan nÄgra större buggar.



