GithubHelp home page GithubHelp logo

shop's People

Contributors

altnameforstudying avatar igorbacz avatar jusgladysz avatar patrycjastarzec avatar pdybowski avatar

Stargazers

 avatar  avatar

Watchers

 avatar

shop's Issues

add page for sports

we want display list of sports.

each sport card must include:

  1. sport name
  2. icon representing that sport (can be something - we dont have graphic designer ;P)
  3. number of products for this sport

after clicking one of them page should navigate user to the page with selected sport items.
As far as I remember url for such a thing is something like this (but you have to check): /product?sportType={sportType}

create page for one product

image

route should look like:
/product/{_id}

_id will be taken from a product object

add that link to a carousel item

add custom buttons

we should have reusable button component

we need button for 'submit', 'cancel', 'default'

add navigation for mobile

first look:
image

after open menu:
image

NOT SURE IF NEEDED:
you will probably have to create a function that will get you a device type and see if its desktop or a mobile see:
https://dev.to/timhuang/a-simple-way-to-detect-if-browser-is-on-a-mobile-device-with-javascript-44j3
... or
you can try using only css for screen width

INFO:

  1. submenus should only only display items below (not to the right)
  • change styling arrows to point down not right
  • items should also be displayed below its parent
  • add some white 2px solid border between navigation items

see example:
image

image

add best products at the bottom of home page

get some products and create a component for them (see image below).
put that component in mainpage

display only items that have more then 3 stars
please limit items displayed to 6
star is a string and max stars is 5

component should be named BestComponent and BestItems

image

add ability to filter products by prices / sizes

create a shared component that will be responsible for filtering products by selected sizes and price range

TIP:

  1. talk to Tomek and ask what sizes were going to have.
  2. props should include callback to filter products by what user selects (ask Piotr if you need any help with understaing how it should look like). this callback should have parameter as products. Your component should filter products by sizes/prices and run that callback passing filtered products there

see example:
image

create component for text that is too long

we should display text that is too long shortened and with dots as suffix (search browser by 'ellipsis' IF NEEDED)

add tooltip for that component
tooltip should be full length text

props:

  • width
  • text

image

create register page with navigation icon

create base register bage with all validations

validation should check:

  • if element was touched
  • if the value is valid
    FORM models:
    email
    firstName
    lastName
    password

button to register should be enabled

after clicking button and if operation was succeed we should store token inside localstorage and navigate back to main page

on the navigation there should apear two buttons/text what ever

  • go to profile
  • log out

User model that will come from api:
email
firstName
lastName
role: 'user' | 'admin'

create new reducer for user data
image

create notification component

create component that will notify users about results of some actions. component should be displayed at the center bottom of a screen (not page)

props:

  • type
  • text

type of notifications:
'ERROR',
'SUCCESS',
'INFO'

example:
image

add carousel component

add carousel component
props:

  • children (props.children) (required)
  • number of elements displayed in active view (optional, hardcode value 1)
  • interval (optional, hardcode 5000ms)

make page looks better (have fun)

do what you want - just make it better

fix product containers (look at the button posistion). you can try to make all inside components have fixed height. this will prevent moving elements they way the do now

fix carousel - carousel should move from left to right and reverse depending on what user clicks. by default we should move it from left to right (now its based on opacity)

you can play with navigation styling (take inspiration of something from the internet)

spinner should be in the center. Make sure that we can also change spinner sizes. (we will use it inside buttons so its good to have the ability to set customized styles)

we dont need to hover images in BestItem

images alt text can be just 'picture'

add 'typing' component

add component that will display typing text.
you can pass string as text. If whole text is typed then you can stop typing ofc and the text should stay

add interval to 1.3s

add shopping cart page

display all products with their names, prices (we should also be able to remove these products from a list)
display sum of all products added to a cart
display button 'Go to payment'

backend initial config

data:
isBestseller
name
description
price
sport: enum (tennis)
type: enum (shoe)
category: enum (man, woman, children)
image
size
brand
isCarousel (temporary)

add product page + route

url: 'products/:type'

  1. mock some objects ti display (they will come from context later)
  2. display products (use Item component)
  3. add ability to filter products

nav panel component

create navigation panel with dropdowns and submenus
[elem1] [elem2]
[elem1.1] [elem1.1.1]
[elem1.1.2]
after hover we should display another elements in a tree.
after click we should redirect to custom link

Example:
elem1 (hovered) -> display elem1.x -> display1.1 (hovered) -> display elem1.1.x

each nav element should have possibility to hover and click (but these options are OPTIONAL)

add component for product

add custom component to display product

props:

  • image (optional)
  • link (optional)
  • title (required)
  • description (optional)

image

add footer

(c) - icon from react-icons

text:
2022 ShoppingApp (c)

if its 2023 then display '2022 - 2023'

add two contexts

context model should be the same as we will have in api.

API will reponse with all products

another context should be responsible for adding products to shopping cart (can only include ids)

add carousel to home page

image

mock 3 product objects and add url as link to an image (Iwona has some urls from eobuwie with images)

after hover we should see whats that,
we should be clickable (but just clickable, no more action)

add page for brands

we want display list of brands we have.

each brand card must include:

  1. brand name
  2. icon representing that brand (should be taken from api - probably need another thing in a model)
  3. number of products for this brand

after clicking one of them page should navigate user to the page with selected brand items.
this url is not done so you have to create new filter for brand

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.