Giter Site home page Giter Site logo

badass-techie / eshoponsteroids Goto Github PK

View Code? Open in Web Editor NEW
27.0 2.0 13.0 5.69 MB

Cloud-native online shop powered by Java 17, Python 3, containers, and Kubernetes ๐Ÿ‹โš“

License: MIT License

Java 84.73% Dockerfile 2.27% HCL 3.95% Python 9.05%
api-gateway circuit-breaker event-driven kubernetes microservices redis spring-boot spring-cloud terraform zipkin-sleuth

eshoponsteroids's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

eshoponsteroids's Issues

Need for a Containerized or Virtualized Dev Environment

Need for a Containerized or Virtualized Dev Environment

The application currently relies on the developers having the same environment and dependencies installed on their local machines. This can lead to issues such as inconsistent versions, incompatible libraries, and configuration errors. It also makes it harder to replicate the production environment and troubleshoot bugs.

A better approach would be to use a containerized or virtualized dev environment that isolates the application from the host system and provides a consistent and portable way to run and test the application. Some possible ways to achieve this are:

  • Use Docker to create and run containers for each microservice and the API gateway. Docker can also be used to create a network for the containers to communicate with each other and expose ports for external access. Docker Compose can be used to simplify the management and orchestration of the containers.
  • Use HashiCorp Vagrant to create and run virtual machines for each microservice and the API gateway. Vagrant can also be used to provision the virtual machines with the required dependencies and configuration using scripts or tools such as Ansible, Chef, or Puppet. Vagrant can also create a network for the virtual machines to communicate with each other and forward ports for external access.
  • Use a cloud-based dev environment such as GitHub CodeSpaces or GitPod that provides a browser-based IDE and terminal to access and run the application on a remote server. These services also offer integration with various cloud services and tools such as AWS EKS, Google Kubernetes Engine, or Azure DevOps.

The pros and cons of each option should be evaluated in terms of cost, performance, security, usability, and compatibility with the application's architecture and design principles.

No Payment Integration

No Payment Integration

The application currently does not support any payment methods for customers to purchase products. This is a major feature gap that needs to be addressed.

Some possible approaches to integrate payments are:

  • Create a new Payment Microservice that handles payment processing and communicates with the Order Microservice via the Message Bus. The Payment Microservice could use a third-party payment provider such as Stripe or PayPal to process payments and store payment details securely.
  • Add payment functionality to the existing Order Microservice and use a third-party payment provider as above. This would simplify the communication and coordination between the microservices, but also increase the complexity and responsibility of the Order Microservice.
  • Use an external payment gateway such as Stripe Checkout or PayPal Express Checkout that redirects customers to a hosted payment page and returns them to the application after payment confirmation. This would reduce the development and maintenance effort of the application, but also limit the customization and control of the payment experience.

The pros and cons of each approach should be evaluated in terms of cost, security, scalability, usability, and compatibility with the application's architecture and design principles.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.