GithubHelp home page GithubHelp logo

connoro7 / exportdefault.shop Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 2.0 4.31 MB

A modern, fully-featured, and highly portable eCommerce site built with the MERN stack.

License: Other

HTML 0.59% JavaScript 98.71% CSS 0.68% Procfile 0.02%
admin ecomm ecommerce ecommerce-site express expressjs heroku jwt mern mern-stack modern mongodb mongoose node paypal react react-redux redux shop

exportdefault.shop's Introduction

Ah, another visitor!

Come, rest that weary keyboard.
You're just in time for marshmallows and Github poetry!

https://www.linkedin.com/in/connor-dillon/ _connordillon pickleofdill connoro7

connoro7

Hi, my name is Connor and I'm a Seattle based software engineer, 
astrophysicist, fire dancer, and metal sculptor!
                      ,
                       (   `   .         ,&&&&.    ,-Welcome to my GitHub, my portal,
  .&&&,            `    )  ,            ( ^,^&&   /  My code, quite simply immortal.
 &&&^,^)               (  (              \_o_/  -^   I serve commits shaken, kept neat,
&&\__o/              `     )             ,'-'.       I keep your projects running, not skipping a beat.
&&.'-'.          ,   (    (  ,,      _.__|/ /|       
& |\ \|__._      `,   ) /\ -((------((_|___/ |       I'll take on tasks, big and small,
  | \__|_))------))- ( // | (`'      ((  `'--|-_     My coding style, known to lower cortisol.
_.|--'`.  ))      _ -.;_/ \\--._      \\ \-.MMMM     From web apps, to data pipelines,
MMMMM.-/ //      (_;-// | \ \-'.\    <_,\_\`HHHH     Everything runs, ages like fine wines.
HHHHH`/_/,_>     ( `.__ _  ___,')      <_,-'MMMM     
MMMMM'-,_>        `'(_ )_)(_)_)'                     So take a look around!
                                                     Let's make something big,
                                                     something profound!
                                                     ...or maybe just a whirligig.

Some quick facts about me...

  • 🔭 When I'm not working, I'm learning more about Go, Rust, WebRTC, and tRPC in my free time!

  • 👯 I recently helped release v1.0.0 of a new open source project, Query IQ - visualize SQL query performance metrics!

  • 🤝 I’m looking for help with my modular e-commerce platform with adding a UI theme library!

  • 📝 You can find my technical writing on my personal blog.

  • ⚡ Fun fact I'm a fire performer! I love bringing people together to commune with humanity's most ancient and sacred tool!


Languages and Tools

aws babel backbonejs bash bootstrap c css3 d3js docker express firebase gatsby git graphql heroku html5 illustrator javascript jekyll jest linux materialize matlab mongodb nextjs nodejs photoshop react redux sass tailwind typescript webpack


 connoro7

connoro7

connoro7

connoro7


Latest Blog Posts

Blog Post Updates


exportdefault.shop's People

Contributors

connoro7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

exportdefault.shop's Issues

Getting bad API responses

At http://localhost:5000/api/products/5fbc736ec43f8904bfe00850, getting this error:


ReferenceError: req is not defined
    at file:///Users/connor/__Dev/console.shop/backend/routes/productRoutes.js:27:44
    at asyncUtilWrap (/Users/connor/__Dev/console.shop/node_modules/express-async-handler/index.js:3:20)
    at Layer.handle [as handle_request] (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/layer.js:95:5)
    at /Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:281:22
    at param (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:354:14)
    at param (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:365:14)
    at Function.process_params (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:410:3)
    at next (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:275:10)
    at Function.handle (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:174:3)
    at router (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:47:12)
    at Layer.handle [as handle_request] (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:317:13)
    at /Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:284:7

[BUG] Cart Items Persist (in LocalStorage) Between Accounts and Orders

Cart items persist (undesired behavior) through the following events:

  • logging out with non-empty cart and logging into different user
  • after confirming an order, items from the order are still in user's cart and must be removed before placing a new order

If an elegant solution ends up being a lot of time/work, a quick workaround would be to add a button to the cart screen that will Remove all items from cart (with a confirmation dialogue!).

[TODO]: Custom error-handling middleware for API requests

Express's default error handler is handling API requests that aren't correctly formatted.
Want to have the server handle all of the errors, and not send any default error responses.

At /api/products/5, getting this error:

CastError: Cast to ObjectId failed for value "5" at path "_id" for model "Product"
    at model.Query.exec (/Users/connor/__Dev/console.shop/node_modules/mongoose/lib/query.js:4358:21)
    at model.Query.Query.then (/Users/connor/__Dev/console.shop/node_modules/mongoose/lib/query.js:4450:15)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

[BUG] App crashing when logged in and navigating to '/profile' page for first time

Error: TypeError: Cannot read property 'name' of undefined

Getting an error when logging into a user account and navigating the the /profile page. Seems to only happen the first time a user navigates to /profile, as the error resolves itself upon page reload.

at src/screens/ProfileScreen.js:32

  28 useEffect(() => {
  29   if (!userInfo) {
  30     history.push('/login')
  31   } else {
- 32     if (!user.name) {
  33      dispatch(getUserDetails('profile'))
  34    } else {
  35      setName(user.name)
  36      setEmail(user.email)
  37    }
  38  }
  39 }, [dispatch, history, userInfo, user])

Error reproduction:

  1. Start server with npm run dev
  2. Navigate to /login
  3. Log in with user [email protected] , password 123456
  4. Navigate to /profile
  5. Bear witness to this terrestrial manifestation of my nightmares
  6. Refresh the page at /profile
  7. App no longer crashes -- Needs investigation

[BUG] [SEVERE] App is encountering stack overflow on product page

Encountering stack overflow (so far) only on one product page: /product/6008fac6ed8d09c49603520f.

Seems to have been introduced following #98 but can't say for certain.

Will dive into this more and try to write up replication instructions (or a solution!). For now, just creating this issue so I don't forget.

Trace:

Uncaught RangeError: Maximum call stack size exceeded
(anonymous) | @ | react_devtools_backend.js:912
-- | -- | --
  | getElementTypeForFiber | @ | react_devtools_backend.js:5274
  | shouldFilterFiber | @ | react_devtools_backend.js:5199
  | mountFiberRecursively | @ | react_devtools_backend.js:5820
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | mountFiberRecursively | @ | react_devtools_backend.js:5880
  | postMessage (async) |   |  
  | sayHelloToBackend | @ | contentScript.js:100
  | 94 | @ | contentScript.js:139
  | __webpack_require__ | @ | contentScript.js:20
  | (anonymous) | @ | contentScript.js:84
  | (anonymous) | @ | contentScript.js:87

addToCartHandler is pushing an off-by-one error

When clicking the "Add to Cart" button on a product page,

if the user selects quantity=1,

the addToCartHandler is experiencing an off-by-one error,

as it sets ?qty=0, when it should be ?qty=1.

2020-11-25 15 02 15

[TODO] Configure confirmation emails to be sent following a successful user registration

To do:

  • Configure mail protocols for sending confirmation emails
  • Configure user data model to accept "Confirmed email address" boolean value
  • Configure routing for (time-sensitive) URLs that will fire off EMAIL_CONFIRM_SUCCESS action when client navigates to the URL
  • Ensure routes are protected: confirmation only occurs if the client possesses the correct Bearer token
  • If user places an order with an unconfirmed email address, send notification to admin user(s) so that order details can be reviewed/processed manually (to reduce incidence of fraudulent orders)

Getting bad API response

At http://localhost:5000/api/products/badurl1234tester1234, getting this error message:

ReferenceError: req is not defined
    at file:///Users/connor/__Dev/console.shop/backend/routes/productRoutes.js:27:44
    at asyncUtilWrap (/Users/connor/__Dev/console.shop/node_modules/express-async-handler/index.js:3:20)
    at Layer.handle [as handle_request] (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/layer.js:95:5)
    at /Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:281:22
    at param (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:354:14)
    at param (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:365:14)
    at Function.process_params (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:410:3)
    at next (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:275:10)
    at Function.handle (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:174:3)
    at router (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:47:12)
    at Layer.handle [as handle_request] (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:317:13)
    at /Users/connor/__Dev/console.shop/node_modules/express/lib/router/index.js:284:7

[BUG] Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

Server is throwing an error - not sure what caused it, here's the trace:

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
[0]     at ServerResponse.setHeader (_http_outgoing.js:558:11)
[0]     at ServerResponse.header (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/response.js:771:10)
[0]     at ServerResponse.send (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/response.js:170:12)
[0]     at ServerResponse.json (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/response.js:267:15)
[0]     at errorHandler (file:///Users/connor/__Dev/exportdefault.shop/exportdefault.shop/backend/middleware/errorMiddleware.js:20:7)
[0]     at Layer.handle_error (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/layer.js:71:5)
[0]     at trim_prefix (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:315:13)
[0]     at /Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:284:7
[0]     at Function.process_params (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:335:12)
[0]     at next (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:275:10)
[0]     at Layer.handle_error (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/layer.js:67:12)
[0]     at trim_prefix (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:315:13)
[0]     at /Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:284:7
[0]     at Function.process_params (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:335:12)
[0]     at next (/Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:275:10)
[0]     at /Users/connor/__Dev/exportdefault.shop/exportdefault.shop/node_modules/express/lib/router/index.js:635:15

Looks like it's coming from errorMiddleware.js, line 20...

[BUG] Logging out resets user's shopping cart

Introduced in #81
Upon logging out and logging back in, the user will find their shopping cart empty.

Occurs because of breaking change introduced in /frontend/reducers/cartReducers.js, CART_RESET resets the current shopping cart to its initial (empty) state upon logout, which is then saved to localStorage.

Because cart storage is currently handled via localStorage, one of these components will need to change.

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.