Detta är Nicolas Dumont samt Marat Matourin examinationsuppgift i kursen "Utveckling av webbapplikation" samt "Agilutveckling". Vi har valt att följa Kanban metodiken. Följ stegen nedan för att starta vår färdiga webshop.
Samla era erfarenheter från Kanban, Scrum och diskussionerna av Modern Agile och kom överens i gruppen vilka delar och hur ni ska inkorporera detta i erat arbete. Dokumentera vad ni kommer överens om i README.md i erat repository.
Ni ska bygga en FrontEnd till en färdig BackEnd. BackEnden finns på följande länk https://github.com/zocom-david-lundholm/webshop-rest-api
Forka detta repo och redigera README.md.
SINUS Webshop är en onlinebutik som säljer skateboards och tillbehör.
Webshoppen ska ha 3 olika lägen
- Anonym besökare
- Inloggad Kund
- Inloggad Admin
Det ska finnas en registrerings
-view med ett registreringsformulär
Det ska finnas en My Account
-view med information om ditt konto och din orderhistorik
Det ska finnas en Admin Area
-view med ett CRUD-gränssnitt för alla produkter
- En produktlista view
- En utchecknings view
- En enstaka produkt (view eller modal)
- En kundkorg (egen view eller modal)
- Inloggningsformulär (egen view eller modal)
Resurs | Metod | Detaljer |
---|---|---|
/api/auth/ | POST | Authentiserar user med email & password. Returnerar en JWT-token som används vid varje anrop API:et i en Authorization-header. |
/api/register/ | POST | Registrerar en user enligt User-modellen. |
/api/products/ | GET | Returnerar en lista på samtliga produkter. |
/api/products/:id | GET | Returnerar en enstaka produkt. |
/api/products/ | POST | Skapar en ny produkt, se produkt-modell. Enbart tillgänglig för admins |
/api/products/:id | PATCH | Uppdaterar produkt, se produkt-modell. Enbart tillgänglig för admins |
/api/products/:id | DELETE | Tar bort en produkt med :id. Enbart tillgänglig för admins |
/api/orders | GET | Returnerar en lista på samtliga ordrar för admins, och ägda orders för inloggad användare. |
/api/orders | POST | Skapar en ny order, se order-modell. |
{
_id: '39y7gbbZk1u4ABnv',
title: 'Gretas Fury',
price: 999,
shortDesc: 'Unisex',
longDesc: 'Skate ipsum dolor sit amet...',
imgFile: 'skateboard-greta.png'
}
{
_id: 123,
timeStamp: Date.now(),
status: 'inProcess',
items: [ <productId1>, <productId2>, ... ],
orderValue: 999
}
{
_id: '6b521d3f-3d15...' // add server side
email: '[email protected]',
password: '$$$hashed password$$$',
name: 'Johan Kivi',
role: 'admin', // or customer
adress: {
street: 'Tokitokvägen 3',
zip: '123 45',
city: 'Tokberga'
},
orderHistory: [ orderId1, orderId2, ... ]
}
npm install
npm run serve
npm run build
npm run lint
- Install dependencies
npm install
- Seed the database with
node database/seed.js
<<<<<<< HEAD - Start the server
node app.js