Love'shopping-Fall in love with shopping all over again at Love'shopping

Inspiration

The inspiration for Love'shopping came from our collective experiences with online shopping platforms. We wanted to create a shopping experience that feels personalized, efficient, and enjoyable. Our goal was to merge the joy of shopping with the ease of technology, making it accessible and delightful for people all around the world. We focused on addressing common pain points like cumbersome navigation, lack of detailed product information, and inconvenient checkout processes to craft a seamless user experience.

What it does

Love'shopping is an e-commerce website that provides a comprehensive and user-friendly shopping experience. It allows users to:

  • Add and remove products from their cart.
  • Adjust the quantity of products in their cart.
  • View a cart overlay summarizing selected items.
  • Filter products by categories.
  • Add products to the cart from both category listings and individual product pages.
  • Select necessary product attributes (size, color) before adding items to the cart.
  • Choose their preferred currency for displaying prices.
  • Proceed through a multi-step, secure checkout process with form validations to ensure accuracy. -Best user experience

How I built it

  1. Project Initialization: Started with Create React App to set up the initial project structure.
  2. Component Development: Built individual components using React class components, focusing on reusability and modularity.
  3. Routing and Navigation: Implemented React Router to handle navigation between different pages of the application.
  4. Cart Logic: Developed the logic for adding, removing, and adjusting the quantity of products in the cart, and displaying product attributes.
  5. Currency Options: Integrated functionality to select and display prices in different currencies.
  6. Checkout Process: Designed a multi-step checkout process with form validations to ensure a smooth and secure purchasing experience.
  7. Styling: Applied CSS for styling components to create a visually appealing interface.
  8. Deployment: Deployed the project on Vercel and GitHub Pages for easy access and demonstration. The website was built using the following technologies, frameworks, and APIs:

Technologies and Frameworks

  1. React: The core framework used for building the user interface. It allows for the creation of dynamic and responsive web applications.
    • React Class Components: Utilized for building the logic and UI components of the website.
  2. Create React App: A tool that sets up a new React project with a modern build setup. It simplifies the initial setup process and provides scripts for development, testing, and building the app.

Libraries and Packages

  1. React Router: Used for handling routing within the application, allowing users to navigate between different pages seamlessly.
  2. React Slider: A library used to create interactive sliders, enhancing the user interface.
  3. uuid: A library for generating unique identifiers, which can be useful for managing unique keys for components or handling unique product IDs in the cart.

Development and Build Tools

  1. npm: The package manager used for managing dependencies and running scripts.
    • npm start: Runs the app in development mode.
    • npm test: Launches the test runner.
    • npm run build: Builds the app for production.
    • npm run eject: Copies configuration files and dependencies for full control over the build configuration.
  2. Webpack: Bundles JavaScript files for usage in a browser, optimizing the build for the best performance.
  3. Babel: A JavaScript compiler that converts ES6+ code into a backwards-compatible version of JavaScript.
  4. ESLint: A tool for identifying and fixing linting errors in the codebase.

Deployment

  • Vercel: The platform used for deploying the website. It supports automatic deployments and provides a production-ready environment.

APIs and Services

  • While specific external APIs are not explicitly mentioned in the overview, it is common to integrate with various APIs for functionalities like currency conversion, product data management, or user authentication. However, these integrations were not detailed in the provided information.

Development Goals

  • Practice with React Class components.
  • Building logic for attribute selection and cart management.

Getting Started

To get started with the project:

  1. Clone the repository.
  2. Run npm install to install dependencies.
  3. Use available scripts (npm start, npm test, npm run build) for development, testing, and building the project.

Challenges we ran into

  • State Management: Managing state across different components, especially for dynamic elements like the cart, was initially challenging. We had to carefully plan the state structure and flow.
  • Form Validation: Ensuring accurate form validations required meticulous attention to detail to handle various edge cases and user inputs.
  • Currency Conversion: Implementing a flexible and accurate currency conversion system that updates prices dynamically was complex.
  • Responsive Design: Ensuring the website is fully responsive and provides a consistent experience across all devices was an ongoing challenge.

Accomplishments that we're proud of

  • Successfully implemented a dynamic cart system with detailed product attributes.
  • Created a smooth and intuitive multi-step checkout process with robust form validations.
  • Developed a flexible currency selection feature that caters to a global audience.
  • Ensured the website is responsive and visually appealing across various devices.
  • Deployed the project successfully on Vercel and GitHub Pages, making it accessible and ready for demonstration.

What we learned

  • Enhanced our understanding and practical skills in using React class components.
  • Learned effective strategies for managing state within a React application.
  • Gained insights into implementing form validations to ensure data accuracy and improve user interaction.
  • Understood the importance of intuitive design and how small details can significantly impact the user experience.
  • Developed skills in deploying web applications using Vercel and GitHub Pages.

What's next for Love'shopping

  • Feature Enhancements: Adding more features such as user reviews, wishlists, and personalized recommendations.
  • Performance Optimization: Further optimizing the application for better performance and faster load times.
  • Mobile App Development: Creating a mobile app version of Love'shopping to reach a wider audience.
  • Integration with More APIs: Integrating with additional APIs for enhanced functionalities like real-time inventory updates and advanced analytics.
  • Marketing and Outreach: Launching marketing campaigns to attract more users and expand our customer base.

TRY AT https://love-shopping.vercel.app/

Built With

Share this project:

Updates