E-Commerce Store with Secure Payment Gateway

The E-Commerce Store with Secure Payment Gateway is a full-stack application designed to provide a seamless online shopping experience. The platform enables users to browse products, add items to their cart, and make secure payments with features like authentication and order tracking. The project prioritizes scalability, user-friendliness, and security.

SECTOR
Retail
PROJECT TYPE
Full Stack
Technologies
ReactJS
Python (Flask)
PostgreSQL
Redis
Docker
Kubernetes (AWS EKS)
AWS S3
AWS RDS

Goal of the project

The project aimed to:

  • Develop a secure and scalable e-commerce platform using Python for backend processing.
  • Implement containerized deployment with Docker and Kubernetes for high availability and fault tolerance.
  • Provide users with a seamless experience across devices.
  • Ensure safe payment handling with Stripe API for secure transactions.

Project Execution

Architecture

The application followed a containerized microservices-based architecture:

  1. Frontend:
    • Built using React.js to ensure a responsive and user-friendly interface.
    • Features included product browsing, user authentication, shopping cart management, and order tracking.
  2. Backend:
    • Developed with Flask, providing RESTful APIs for product management, user authentication, and order processing.
    • Implemented secure authentication using JWT and role-based access control.
  3. Payment Gateway:
    • Integrated Stripe API for processing payments securely, supporting credit/debit cards and wallet payments.
  4. Containerization and Orchestration:
    • Docker: Used to containerize the frontend, backend, and database services for consistent deployment across environments.
    • Kubernetes (EKS): Deployed on AWS EKS for orchestration, enabling automated scaling, load balancing, and fault recovery.
  5. Database:
    • PostgreSQL: Used to store user accounts, product data, and order histories.
    • Redis: Integrated for caching frequently accessed data, reducing response times.
  6. Cloud Hosting:
    • Hosted the application on AWS with the following components:
      • S3: For storing product images and static assets.
      • EKS: For managing the containerized application.
      • RDS: Used for the PostgreSQL database.

Tech Stack

  • Frontend: React.js, Redux, Material-UI
  • Backend: Python (Flask), REST APIs
  • Database: PostgreSQL, Redis (caching)
  • Containerization: Docker, Kubernetes (AWS EKS)
  • Payment Integration: Stripe API
  • Cloud Services: AWS S3, AWS EKS, AWS RDS
  • Tools Used:
    • GitHub for version control.
    • Postman for API testing.
    • Helm for Kubernetes configuration management.

Timelines

The project was executed over 12 weeks:

  • Week 1-3: Requirement gathering, architecture design, and tech stack setup.
  • Week 4-7: Frontend and backend development.
  • Week 8-10: Integration of payment gateway and Docker containerization.
  • Week 11: Kubernetes deployment and scaling on AWS EKS.
  • Week 12: Testing, bug fixing, and final deployment.