Back to Projects

Selected Work

Cosmetics Ecommerce Website

A dynamic eCommerce platform for cosmetics built with React.js, Redux, and Node.js/Express featuring intuitive shopping experience, efficient state management, and MongoDB for scalable data storage. A personal project to sharpen full-stack development skills.

Tech Stack

React.js Redux Node.js Express.js MongoDB git Shopping Cart Auth Checkout Admin

Cosmetics Ecommerce Website

I built this cosmetics eCommerce website as a personal project to deepen my full-stack development skills and explore modern web technologies in a real-world context. The frontend was developed with React.js, providing a fast, component-based user interface. Redux handles global state management — keeping track of the shopping cart, user authentication status, product filters, and checkout flow seamlessly across the application. The backend runs on Node.js with Express.js, serving RESTful APIs for product listings, user management, cart operations, and order processing. MongoDB powers the database layer, leveraging NoSQL flexibility to store products, user profiles, orders, and reviews efficiently. Key features include product browsing with category filtering and search, detailed product pages with images and descriptions, a fully functional shopping cart with quantity management, user authentication (signup/login), and a checkout flow. The admin side supports product and order management. This project allowed me to practice building a complete eCommerce system from scratch — understanding how frontend, backend, and database work together to create a seamless shopping experience.

My Tasks

  • Designed and developed the full eCommerce platform as a personal learning project
  • Built a responsive, component-based frontend with React.js
  • Implemented global state management using Redux for cart, auth, and product data
  • Developed RESTful APIs with Node.js and Express.js for all backend operations
  • Designed MongoDB schemas for products, users, orders, and reviews
  • Created product browsing with category filtering and search functionality
  • Built detailed product pages with images, descriptions, and pricing
  • Implemented fully functional shopping cart with add, remove, and quantity updates
  • Developed user authentication system (signup, login, protected routes)
  • Built checkout flow for order placement
  • Created admin functionality for managing products and viewing orders

What I Learned

  • Technical Growth: This project was my deep dive into Redux — I finally understood why global state management matters when building complex applications. Managing cart state, user sessions, and product filters across multiple components without prop drilling made the codebase much cleaner and scalable.
  • On the backend, I strengthened my Node.js and Express skills by building a complete API layer from scratch. Designing MongoDB schemas for an eCommerce context taught me to think about data relationships in NoSQL — embedding vs. referencing, and when each approach makes sense.
  • Building the full checkout flow connected all the pieces: frontend forms, API validation, database updates, and user feedback. I learned how many edge cases exist in eCommerce stock validation, price consistency, and handling failed operations gracefully.
  • Soft Skills & Professional Growth: As a self-directed project, I had to set my own goals, prioritize features, and stay motivated without external deadlines. I learned to scope realistically starting with core features (browse, cart, checkout) before adding extras like reviews or wishlists.
  • This project reinforced that the best way to learn is to build something real. Reading documentation only goes so far — struggling through actual implementation is where the learning happens.

Project Info

Type
Featured Project
Technologies
10
Tasks
11
Learnings
5

Screenshots (1)

Cosmetics Ecommerce Website screenshot 1

Interested in working together?

I'm available for freelance projects and full-time opportunities.

Hire Me