Skip to content

This is an e-commerce application that incorporates various features such as user authentication, product management, shopping cart functionality, and more...

Notifications You must be signed in to change notification settings

alalUDDIN123/angular_ecom

Repository files navigation

E-commerce Application With Angular 🛍️

Project Overview 📝

This is an e-commerce application that incorporates various features such as user authentication, product management, shopping cart functionality, and more...

Tech Stack Used 💻

The application was built using the following tech stack:

  • Angular: Angular was used for the frontend development, providing a powerful framework for building robust and scalable web applications.
  • CSS: CSS was used for styling and designing the user interfaces, ensuring visually appealing and responsive layouts.
  • JSON-Server: JSON-Server was utilized for backend simulation, enabling the application to interact with a mock API and handle data management.

⏱️ Duration

  • Developed in 4 days

👤 Made by

  • Solely created by me

Deployed link 🚀

You can access this application through the following live link : https://angualecom.com

Demo video 📹

Recorded demo video : Demo Video

For seller or admin access, please use the provided credentials:

- Email : [email protected]
- Password : admin123

How to Run Locally

To run this application locally, follow these steps:

  1. Clone or download the code repository.
  2. Open the folder in your preferred terminal or code editor, such as VS Code.
  3. Install the required npm packages by running the command npm install.
  4. Start the project by running the command ng serve.
    • Once the server is up and running, you can access the application locally at this URL: http://localhost:4200/.
    • Open the provided URL in any web browser to view and interact with the application.

By following these steps, you can easily set up and run the e-commerce application locally on your machine.



Pages Included In This Project

  • Home page
  • Search page
  • Product details
  • Sign up and login page
  • Cart page
  • Checkout page
  • Seller Home
  • Add product
  • Edit product
  • Not found page

Features Implemented:

  • User registration and authentication
  • Form validation
  • Email existence check during registration to prevent duplicate registrations
  • Separate pages for sellers and regular users
  • Protected routes for seller access
  • Seller privileges to add, delete, and edit products
  • Search feature
  • Product retrieval
  • Shopping cart functionality, including:
    • Add to cart
    • Remove from cart
  • Checkout and empty cart items
  • Restriction on login and sign-up pages if already logged in
  • Protected route when not logged in
  • Displaying a 404 page when encountering unavailable pages or URLs

Project Development Steps 🛠️

  1. 👉 Project Setup:

    • Created a new Angular project using the command ng new e-commerce.
    • The command ng new is used to generate a new Angular project, and e-commerce represents the project name.
  2. 👉 Custom Component Creation:

    • Created a custom component named "header" using the command ng g c header.
    • The command ng g c is used to generate a new component, and header is the name of the component.
  3. 👉 Routing and Binding: Implemented routing functionality to navigate between different pages within the application.

  4. 👉 Signup Form: Developed a visually appealing signup form with an intuitive user interface.

  5. 👉 JSON Server Setup: Set up a JSON server to mock the backend API and facilitate data management.

  6. 👉 Service Creation:

    • Created a service named "seller" using the command ng g service services/seller.
    • The command ng g service generates a new service, and services/seller specifies the path and name of the service.
  7. 👉 Auth Guard (Protect Route): Implemented an authentication guard to protect certain routes from unauthorized access.

  8. 👉 Dynamic Navbar: Developed a visually attractive and responsive navbar that changes based on the user's authentication status.

  9. 👉 Logout Feature: Implemented a logout feature with a smooth transition and visually appealing feedback.

  10. 👉 Product Addition for Sellers: Created a visually appealing component named "seller-add-product" to enable sellers to add new products to the platform.

  11. 👉 Product List for Sellers: Implemented a visually appealing product list view for sellers, allowing them to easily manage their products.

  12. 👉 Product Deletion and Update for seller: Developed visually appealing and user-friendly options for deleting and updating product information.

  13. 👉 Carousel: Implemented a visually attractive carousel component for showcasing featured products or promotions.

  14. 👉 Trendy Products and Component Usage: Created a visually appealing component named "productCard" to display trendy products and reused it throughout the application, providing a consistent and visually appealing design.

  15. 👉 Auto Suggestion in Search: Implemented an auto-suggestion feature with a visually pleasing dropdown menu that provides search suggestions as the user types.

  16. 👉 Search Results Display: Developed a visually appealing search results page that presents search queries in an organized and user-friendly manner.

  17. 👉 Product Details: Implemented a visually attractive product details page with clear and appealing product information display.

  18. 👉 Add to Cart (Local Storage): Developed a visually appealing and intuitive shopping cart feature using local storage to store added products.

  19. 👉 Add to Cart (When Logged In): Implemented a visually appealing add to cart functionality when the user is logged in, with clear feedback and smooth transitions.

  20. 👉 Push Local Cart to Database (When Logged In): Developed a visually pleasing synchronization mechanism to push the local shopping cart to the database when the user is logged in, ensuring a seamless experience.

  21. 👉 Shared Service: Created a shared service with a visually appealing and user-friendly design to facilitate data sharing between components.

  22. 👉 Checkout: Show total price and once ordered empty cart items

  23. 👉 404 Page: The visually appealing 404 page provides clear messages, suggestions, and navigation options for a user-friendly experience when encountering unavailable pages or URLs.



Challenges and Learning Outcomes 📝

Throughout the development of this e-commerce application, several challenges were encountered, leading to valuable learning outcomes. Some notable challenges and learnings include:

Challenges Faced 💥

Time Constraint : Completing the project within a limited timeframe required efficient planning, prioritization, and focused development.

📊 Data Management : Managing complex data relationships and ensuring data consistency throughout the application demanded thoughtful design and meticulous handling.

🔒 Authentication and Authorization : Implementing secure user authentication and authorization mechanisms to protect sensitive user information necessitated thorough understanding and implementation of industry best practices.

💻 Responsive Design : Designing and implementing responsive and visually appealing user interfaces that work seamlessly across different devices and screen sizes demanded attention to detail and thorough testing.

Lessons Learned 📚

Through the development of this project, we learned several valuable lessons, including:

📝 Thorough Planning : The significance of thorough planning and requirements gathering before starting the development process to minimize roadblocks and ensure smoother execution.

🧹 Code Maintainability : The value of writing clean and maintainable code for long-term project scalability and easier collaboration.

🔍 Rigorous Testing : The importance of rigorous testing and debugging to identify and fix issues promptly, ensuring a robust and reliable application.

📖 Continuous Learning : The benefits of continuously learning and staying updated with the latest technologies and best practices in the industry to enhance skills and deliver higher-quality solutions.

By overcoming these challenges and learning from them, I was able to successfully deliver user-friendly e-commerce application built with Angular.

Contact Information 📞

If you have any further inquiries or need additional information, please feel free to contact me via email or phone:

About

This is an e-commerce application that incorporates various features such as user authentication, product management, shopping cart functionality, and more...

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published