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

[Discussion] Technical Product Architecture Planning #3

Closed
4 tasks
FilledStacks opened this issue Jan 22, 2021 · 3 comments
Closed
4 tasks

[Discussion] Technical Product Architecture Planning #3

FilledStacks opened this issue Jan 22, 2021 · 3 comments

Comments

@FilledStacks
Copy link
Owner

As mentioned at the end of the new video you can watch here this is the discussion where you can ask questions about the Technical Product Architecture. If you have suggestions please leave them below. The process of determining the best technical architecture is the same one we followed to determine the high level overview of the product architecture. We will walk through the largest and most important use case and technically detail what needs to happen or what would be the best way to do this. The scenario is as follows:

  1. User adds product to their cart
  2. User wants to checkout
  3. User has to add a payment method
  4. User checks out
  5. Order shows up on restaurant app
  6. Restaurant confirms the order and sends a preparation time
  7. Restaurant marks order ready for pickup
  8. Driver gets the order
  9. Driver delivers to the User

These are the high-level steps for the most important process in this service. We will use this to determine the following technical details that would be required before we start writing any code.

  • Establish how the data will flow from a user client, through the services and back to the client
  • Establish which data models will be required to get the information from the client through the services and back to the client in the most effective manner
  • Establish the data collections that will be required to provide this information
  • Establish the usage of the cloud functions and their intentions

Once we have all this information we will have a better idea of what we are building which will give us a better platform to work off when planning the actual development work. Once the decisions have been made all of this will be moved into a document in the Wiki which will detail everything that has been decided.

@AryashDubey
Copy link

Sir will we use stripe for the payment gateway? And may I know how we will be able to store the payment method info securely in our database and just ready to use whenever the user wants to pay for the order.

@FilledStacks
Copy link
Owner Author

@AryashDubey I don't have access to Stripe here in South Africa but I can get an account made and then used if we have to. I'm thinking a more global payment system like PayPal. It'll be built in a way to ensure adding new providers doesn't take a lot of effort.

In terms of the system being used we only store the token they provide for us that related to the payment method on the user profile. No other details required. We definitely don't store anything locally on the device where the client application is running.

@FilledStacks
Copy link
Owner Author

Please use this discussion going futher. It's catered towards discussions and can have threaded replies which will be crucial to proper collaboration on this issue.

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

No branches or pull requests

2 participants