Giter Site home page Giter Site logo

moiteil-store's People

Contributors

abhushanaj avatar

Stargazers

 avatar

Watchers

 avatar  avatar

moiteil-store's Issues

Layout Components for Application

Tasks to be done:

  • Design and create the footer component.
  • Design and create the navbar component.
  • Design and create the generic layout component for all pages.

Feat: Integrate with stripe

  • Add a stripe to the project for the checkout experience
  • Add a custom backend endpoint to handle checkout
  • Request the prices from the GraphCMS based on variantId

Add Basic SEO Details

  • Use the App Layout to add relevant tags utilizing next/head to update the title, description, and other meta tags on each page

Refactor: CategoryBannerTile

Refactor the CategoryBannerTile styled component to be a generic Banner Tile component to be used across pages.

Should accept React.Node as children and StitchesCSS style as props

Develop a breadcrumb component for navigation

The component should take props of the following structure.

type BreadcrumbItem={
name: string;
path: string;
isActive:boolean
}

type Breadcrumb={
currentPath: BreadcrumbItem[];
}

Generate products mockup files from printful.com

Tasks to be done:

  1. Use pritful.com to generate mockups for products belonging to the following categories: Clothing, Gifts, Accessories, Home and Living.

  2. Upload the generated mockup files to GraphCMS from schema developed in #7.

  3. Limit the GraphQL API endpoint from GraphCMS to perform only read actions on all content and block other requests.

Addition of Cart Page

  • Create a new page at /cart which lists down all the product added to the cart.
  • Display size, product name, color, and size.
  • Should make use of cartContext created in #33

Develop a newsletter component

  • Create a newsletter component that hits the /newsletter endpoint.
  • Create a /newsletter endpoint which mimics the subscription to newsletter

Create a CartProvider to wrap the whole app

Should expose a custom hooks useCart() which returns API for :

  • Adding Item to cart addItemToCart()
  • Clear Cart clearItemToCart()
  • Remove Item from cart removeItemFromCart()

Develop the category page

Should be a dynamic route which follows: /category/[categoyType]

  • Add breadcrumb component #21
  • Add the newsletter component #20
  • Add Products belonging to a category similar to the home page (reuse the product overview card)

Refactor: Categories Page and Types

Tasks:

  • Reuse fragments created in #25 on product and image assets for categories.
  • Update type with clearer names for better code readability,

Example: Change CategoryDetails to CategoryDetailsWithProducts.

closed via #28

Model the Products in GraphCMS

Tasks to be done:

  1. Schema of Products:
1. Slug: generated from product name (string)
2. Name: for a product name (string)
3. Thumbnail: for product image (asset)
4. Description: for product description (markdown enabled)
5. Category: enumeration type (clothing, gifts, accessories etc)
6. Product variants: store the different variants for a product (schema described below)

  1. Schema for Product Variants:
1. Price: for the price of the product with the given variation (float)
2. Size: variant type. An example for clothing it's showing the different sizes available. (Custom Enumeration)
3. Color: An variation for the product in terms of color (color type)
4. Catalog Images: images for the product on the given variation. (asset)

Add the feature section on home page

  • Worldwide Shipping
    All our orders ship from various warehouses to ensure fast shipping times all over the world

  • Friendly Support
    Got a question? Contact our friendly support staff and they'll get back to you as soon as possible

  • Secure Payments
    Pay with full confidence thanks to our secure and encrypted payment methods

Refactor : Home Page

Tasks:

  • Refactor the ProductsGrid from components to a simple layout (non-reusable). Resue the Product Overview Card
  • Refactor the CategoriesList from component to simple layout. Reuse the Category Card
  • Move logic for filtering products from inline function to getStaticProps and return respective categories. Also, make sure it to write new helper function tp filter by type isPopular and isLatest and accepts first as a GQL parameter

Initial Setup for the project.

  • Setup the project using create-next-app (typescript).
  • Setup eslint for the project.
  • Setup prettier for the project.
  • Setup husky pre-commit hooks to lint and format.
  • Setup custom document for the app and add respective fonts
  • Setup Stitches JS as the styling solution for the project.
  • Add global resets/styles on the project.

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.