About the Portfolio Project: E-Commerce Website category

The E-Commerce Website I Project

Welcome to the subcategory for the E-Commerce Website Project. This portfolio project can be found in the following courses or paths:

  • Full Stack Engineer Path

How to Get Feedback on your Project

Congratulations on finishing your portfolio project! Now you’ll want to follow these steps to get feedback on it.

  1. Post a link to your git repository :slight_smile:
  2. Give us a few sentences about your experience. Was this fun? Difficult? How long did it take?
  3. Check back in—if someone has replied to your post, come see what they have to say.

How to Give Feedback on Another Learner’s Project

Reviewing someone else’s code isn’t just a nice thing to do; it’s also a great opportunity to sharpen your skills by viewing a different perspective.

  1. Refer to the article in your Career Path on How to Review Someone Else’s Code
  2. Click through topics in this subcategory to view other submissions of this project.
  3. Reply to a thread with feedback, encouragement, or letting them know if they did something in a way you hadn’t thought of before!

This was a good project and fairly challenging to put all the pieces together. Took 11 days but will probably adjust it a bit when developing the front-end. The bigger challenges were database schema design, structuring the Express app (since Express is fairly unopinionated), getting authentication/authorization to work good, and setting up Swagger doc where there are some different ways of doing it and document standards (swagger 2.0 vs openapi 3.0, yaml, json, in-line comments and so on)…

I ended up using passport-local, passport-jwt, bcrypt, and jsonwebtoken for auth where I store the JWT in a cookie after login that expires after 60min. Used swagger-ui-express for documentation but only documented the routes to be used for front-end customer access. Most of the Swagger “try it out” feature does currently not work due to the authentication requirements for the api but I will look at that more later. Also made some “admin” routes that I didn’t document at this point since I am not planning to make an admin dashboard initially.

Github repo
Deployed API docs

Hi everybody!

I really enjoyed this challenge, and I think I learned a lot, I would like you to share your opinions with me if you want.

Please take a look at my e-commerce app in github: Postres de la abuela
Note: if you want to see the live version take a look at the readme.md file and click the link in the setup section

Quick update on project. Deployed front-end as well (link provided) and appreciate code review or any bug-reports/feedback:
https://treasurespace.netlify.app/

https://github.com/mikejoh12/e-commerce

Here is something I learned: First deployed API on Heroku and then front-end via Netlify. I am using cookies for JWT authentication so the auth-cookie would come from heroku but React site from Netlify. A lot of Browsers nowadays do not like cookies sent from another web-site (3rd party cookies) and blocks them by default (on Apple products for example). So I had a problem and needed a way to send cookies from/via Netlify. The fix was to set up a proxy throught Netlify (one line in the _redirects file) and this fixed the issue as the front-end could now fetch from the netlify site under the /api path. I could have also served the React site from the Express server… Just some things to consider for the project if you end up using cookies!