eCommerce shop for any kind of mask.
- homepage - I want to be able to access the homepage and filter by type of mask, search, log in and sign up.
- sign up - As a user I want to sign up on the webpage so that I can make purchases and add items to my wishlist.
- login - As a user I want to be able to log in on the webpage so that I can get back to my account.
- logout - As a user I want to be able to log out from the webpage so that I can make sure no one will access my account.
- wishlist - As a user I want to see the list of my favorite and delete them.
- edit user - As a user I want to be able to edit my profile.
- search result/categories - I want to see the list of masks filter by my search, and browse by categories.
- mask listing - I want to see more details of the mask, be able to call them and visit their website and save it as favorites.
Method | Route Front | Route Back | Description | Completed routes |
---|---|---|---|---|
GET | / | /products | Main page route. Render home view. | yes |
POST | auth/login | /auth/login | Login route. Sends login form info to the server. | yes |
POST | auth/signup | /auth/signup | Signup route. Sends signup info to server and creates user in DB. | yes |
POST | auth/logout | /auth/logout | logout route.logs out user in db. | yes |
GET | /user | /user | Private route. Renders profile view. | yes |
POST | auth/user/:id/edit-profile | /user/:id/edit-profile | Private route. Sends edit-profile info to server and updates user in DB. | yes |
GET | /user/:id/wishlist | /user/:id/wishlist | Private route. Render the wishlist view. | no |
DELETE | /user/wishlist | /user/wishlist | Removes products from wishlist. | no |
GET | /products | /products | Renders products-list view. | yes |
GET | /products/:id | /products/:id | Render mask-details view. | yes |
POST | /products/:id | /products/:id | Post the user's product to DB. | yes |
POST | /user/:id/cart | Post the products into User's product list array | ||
GET | /user/:id/cart | Brings the cart's products from db |
User model
{
name: String,
email: String,
password: String,
shippingAddress: String,
cartList: [Object.type. ref'product']
wishlist: [{Object.type ref'product', quantity}]
}
Product model
{
brand: String,
name: String,
description: String,
originalPrice: String,
actualPrice: String,
feedback: [{ }],// backlog
Rating: [ ],
photo: String,
shippingTime: String,
material: String,
color: String,
size: String,
stock: Number
}
Social login through Passport.
Accept payments through Stripe or similar platform.
Web Scrapping on Amazon and/or Aliexpress for dropshipping.
https://trello.com/b/V8Oadhfw/proyecto3-adrian-unai
https://www.figma.com/file/xjrZvqTT3ucQcdQwzsUhas/proyecto3-adrian-unai?node-id=0%3A1
https://github.com/adrianVide/ecommerce-masksrus-m3p-ih
To be added.