Steve Madden clone using pure HTML, ExpressJS & MongoDB

Vattsal Bhatt
2 min readFeb 26, 2022

Hi there, we have experienced our third team project in Masai School on the SeteveMadden.in website clone with backend.

GitHub frontend: https://github.com/vattsalbhatt/steve_madden_fullstack

GitHub backend: https://github.com/vattsalbhatt/steve_madden

Our Project Link: https://steve-madden-full.netlify.app/index.html

Our Video Presentation Link: https://drive.google.com/file/d/1Kggk3V89bWKnIPaVhNloBjyJozRbW9y1/view?usp=sharing

Used Tech: HTML, Bootstrap, ExpressJS, MongoDB

Features: Authentication, Google Oauth, Dynamic user-wise Cart, Razorpay Payment.
P.S → We haven’t used any external libraries & plugins.

#Goals

  1. We need to achieve a good user experience in terms of design and flow.
  2. Users can easily navigate themselves to the primary step which we are willing them to do. It should not be confusing.
  3. Saving user data and actions into the Database.
  4. Minimal API calls in terms of cost-effectiveness.

#Challenges

  1. We didn’t know how to divide backend tasks.
  2. This time faced a lot of challenges in terms of server and database errors.
  3. How to deploy API on Heroku?
  4. How to debug errors of backend and frontend simultaneously?
  5. How to implement Razorpay payment gateway?

#Things that we have learned

1. How to figure out the way from which you can reach your milestone with the best output.

2. This time we have applied components so we have used Import/Export to write less code.

3. How to manage errors of frontend, backend? How to deal with MongoDB.

4. How to achieve the desired output with available resources.

#Conclusion

We think we have achieved the goals that we have decided to. When you go through it you will easily find or search the product that you want, you can add it to the cart, find the totals of Savings and the Payment. Our primary goal was to give the best and easy checkout experience. That we have achieved. Still, there are many things that we could do better if we would have time but in a shorter time span, this is the output that we coded.

--

--