Supply Tech Store – eCommerce App
A robust and scalable eCommerce web application for a hardware store, developed with the MERN stack, integrating payment systems, user authentication, and dynamic product management.
Technologies Used
Project Info
My Role
Full Stack Developer
Team Size
1 person
Duration
3 weeks
Timeline
2/14/2024 - 2/27/2024
Category
web
Featured
No
About This Project
Supply Tech Store is a full-featured eCommerce platform tailored for a hardware and welding equipment retailer. Built with the MERN stack, it offers secure authentication, real-time inventory updates, and seamless purchasing experiences. The app includes features like Google OAuth login, PayPal integration for transactions, Cloudinary for optimized image storage, and PDF invoice generation for orders. It supports categorized product listings, user reviews, and a responsive UI built with React and Bootstrap for accessibility across all devices.
Key Features
- Google and traditional email/password authentication
- PayPal checkout integration
- Cloudinary-powered image upload and optimization
- Admin dashboard for managing products and orders
- Automatic PDF invoice generation
- Dynamic product filters and search
- Featured product carousel
- Responsive UI design for desktop and mobile
- Email notifications with Nodemailer
Challenges Overcome
- Challenge: Ensuring secure file uploads for product images. Solution: Used Multer and Cloudinary with validation checks to handle uploads securely.
- Challenge: Implementing PDF invoices dynamically on checkout. Solution: Integrated PDFKit and PDFKit-Table to auto-generate order receipts in real-time.
- Challenge: Providing seamless authentication via Google. Solution: Implemented OAuth flow using @react-oauth/google and backend JWT token logic.
- Challenge: Maintaining performance with a growing product list. Solution: Optimized queries and added pagination with server-side filtering.
What I Learned
Learned how to architect a full-stack MERN application with clear separation of concerns between frontend and backend. Gained experience in integrating third-party APIs like Google OAuth and PayPal for authentication and payment processing. Mastered the use of Cloudinary for secure, optimized image management in eCommerce platforms. Improved backend skills by implementing PDF generation for invoices using PDFKit and managing protected routes with JWT. Enhanced UI/UX design thinking by building a responsive, user-friendly interface with Bootstrap and React. Strengthened database modeling and performance optimization techniques using MongoDB and Mongoose. Learned to manage state globally using Redux Toolkit and improved frontend performance through lazy loading and efficient data fetching. Understood the importance of admin dashboards and tools to manage business operations more effectively.