Examensarbete - PosterWorld
Jag har i detta projekt skapat en e-handel som säljer posters. Till min frontend har jag använt mig av React och TypeScript och till min backend har jag använt NodeJS, Express och MongoDB. För betalning använder jag Stripe.
Krav som är uppfyllda:
- Minst ett externt system används via ett API. JSON, XML eller något annat format som
läses och/eller skrivs. En embed är inte tillräckligt.
- En egendesignat databas med minst två tabeller.
- Koppling till en betallösning
- Routing och snygga url:er.
- Tjänsten/produkten innehåller användarhantering
- Front end är responsiv och ska ha “lazy-loading”/ pagination när bilderna och
informationerna hämtas från API:er, databas etc.
För att köra projektet:
Öppna en terminal
$ cd server
$ npm install
$ nodemon src/server.js
Öppna en ny terminal
$ cd client
$ npm install
$ npm run dev
Några notiser att nämna om projektet:
- Jag har på vissa ställen fått lägga in // eslint-disable-next-line react-hooks/rules-of-hooks. Jag är medveten om att det inte är praxis att använda detta men koden fungerar som den ska ändå.
- Min Lazy Loading är påbörjad. Tanken var att visa 12 produkter i taget tills listan med produkter är slut. Just nu visas det samma 30 produkter om och om igen. Har inte hunnit lösa detta.
- Min dropdown med kategoriter går inte heller att öppna mellan 1193 - 890px. Under 890px fungerar den utan problem. Har inte haft tid att felsöka detta vidare. Jag märkte även mot slutet att sidan inte är helt responsiv på en laptop. All responsivitet är just nu testad på en större skärm och justerad med inspektorn.
- Jag har valt att lämna många av mina console-loggar. Anledningen till detta är för att projektet fortfarande är pågående och jag eventuellt vill utveckla detta vidare framöver.