Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Challenge]: feat: new payment flow (individual-assignment/) #367

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

igorfarodrigues
Copy link

@igorfarodrigues igorfarodrigues commented Aug 12, 2024

  • You have read the CONTRIBUTING.md
  • For Terraform changes, you have read the Terraform Naming Conventions
  • For Terraform changes, you have already executed the Terraform plan on this branch
  • The changes inside this pull request are organization-agnostic

Why?

Challenge for Backend Software Engineer (individual-assignment)

What?

Were tasked with reviewing and redesigning the payment processing and shipping rules flow for an online order system. The specific payment processing rules are as follows:

  1. Physical Product: Generate a shipping label for the product.
  2. Service Subscription: Activate the subscription and notify the user via email.
  3. Book: Generate a shipping label with a tax exemption notice in accordance with the Constitution Art. 150, VI, d.
  4. Digital Media (music, video): Send an email with the purchase description and grant a R$ 10 discount voucher to the buyer.

The challenge was to redesign the payment/shipping rules flow to facilitate maintenance and the addition of new rules.

Jira link:

How:

The project structure follows common conventions for Kotlin projects, with separate directories for main code and tests. The model classes and strategies are organized into distinct packages for easier navigation and code maintenance.

/src
│
├── /main
│   ├── /kotlin
│   │   └── /challenge
│   │       ├── /strategies
│   │       ├── /models
│   │       └── Main.kt
│
└── /test
    └── /kotlin
        └── /challenge
            ├── /strategies
            ├── /models

Comments:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant