Giter Site home page Giter Site logo

Richard's Projects

ecommerce icon ecommerce

This is a not a real ecommerce project, it's only an exercise project

fullstack icon fullstack

React/ApolloGraphQL/Node/Mongo demo written in Typescript

graphql-practice-complete icon graphql-practice-complete

The final version of our application after converting it to leverage apollo-client for handling local state. *One thing to note is that in checkout-item.container we use something new, the compose function and the graphql function we get from react-apollo to handle multiple mutations!

lesson-10 icon lesson-10

Adding email/password sign up authentication for firebase, as a result we need to store our user objects in the database.

lesson-12 icon lesson-12

We have added redux to our application so we can leverage all the benefits that come with uni-directional data flow. Instead of the prop drilling we would have to do in order to pass our new user object down deeper into our component trees from our app, we can now just connect those components directly to our redux store where we store all our data.

lesson-13 icon lesson-13

Let's update our app so that after a user signs-in they are redirected to the home page, also if a user is signed into our application, we don't want them to be able to access the signinandsignup page.

lesson-14 icon lesson-14

We now need to create our cart feature in our application. To start, we'll create our cartIcon and cartDropdown components. Then we'll create the necessary reducer, actions, and types associated to handling hiding and showing the carDropdown component.

lesson-17 icon lesson-17

We need to create our cart-item component for our cart and connect our cart component to our cart reducer.

lesson-18 icon lesson-18

We want to separate all our business logic in our selectors. In this lesson we add a new selector to show our total count of items.

lesson-19 icon lesson-19

Now that we have our cart, it's time to create our checkout page. We need a checkout component for the page and our checkout-item component. We're going to connect the page to our cart reducer; we're also going to make a selector to get the total price.

lesson-20 icon lesson-20

We want to be able to remove the item from the cart if the user doesn't want it anymore during checkout so we're going to add the appropriate action and case in our cart reducer.

lesson-21 icon lesson-21

We also want to be able to update the quantity using buttons to the left and right of the number, so we will add the appropriate code to do so.

lesson-22 icon lesson-22

We don't want our users to lose their carts whenever they refresh, so we are going to leverage one of the benefits of redux by persisting our store object in localstorage using redux-persist.

lesson-23 icon lesson-23

We have now created our collection page and converted our shop items data over from an array to an object to better leverage our url parameters! Converting arrays over to objects to store data is called data-normalization and it makes searching for specific elements in our code much easier and efficient!

lesson-26 icon lesson-26

We are now adding styled-components to explore CSS-in-JS. We convert over our Homepage component, Header component and CustomButton component to use styled-components instead of scss.

lesson-26-complete icon lesson-26-complete

In this repository, all our components have been converted to styled-components!

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.