close
Skip to main content
adiqq u/adiqq avatar

adiq

u/adiqq

Feed options
Hot
New
Top
View
Card
Compact

I believe it's required to finish Fire and Vice main quest and learn Crucio by speaking with Sebastian Sallow on one of the quests related to dark magic in order to unlock PS5-exclusive "Minding Your Own Business" quest.

Sadly, at the moment no other place mention this, but to me it looks like a hard requirement in order to get this quest. Hope that helps y'all Comment Image


Thanks for following up!

To describe it briefly, the core is a legacy PHP API which has many different web and mobile apps depending on it. That was the biggest restriction for us, as we could not access the data directly and at the same time could not introduce any significant change there (to don't break anything). The communication between our BFF API and Core was using traditional REST, but to have low latency the infrastructures of both app has direct connection with each other on AWS.

Our new request payload/response format differs from the legacy format with many things: the most significant difference is simplified structure and renamed field naming to match with client domain names. Some values are also being formatted to standardized value (e.g., money values, dates, statuses). One significant example could be interpreting the value of "boolean" fields which we received on some endpoints, which could be: true, null or empty string... (yeah, I know)

When comes to command pattern, we decided to go with the most straightforward possible approach as we were still constrained in terms of what would be possible to implement (even simplified CQRS would be either impossible to introduce or extremely ineffective in terms of requests made to the core). Our commands were created directly by Symfony forms which are handling all the incoming payload and validation. Handlers dedicated for each command would execute required logic for a given action (could be a simple request to the core, but also could be multiple requests in one action depending on each other with some additional logic).

In the end, I wanted to say that I received similar feedback to yours from other readers. I will think over the weekend, how could I improve it with more technical stuff and some straightforward examples. An updated version of the blog post should be there somewhere next week. Thanks!


GraphQL is excellent and would provide better flexibility over REST.
Unfortunately, it's not a good fit in every project... in our case - as we didn't have direct access to the database or external services that were used - the implementation of GraphQL resolvers would be quite a challenge.

Also, the cons of using GraphQL are not that big, when you take into consideration that our API is tailored for the SPA needs anyways. Maybe we could save one or two requests overall, but facing potentially unexpected issues with the implementation was in our opinion not worth it.


I am sorry you feel that way, I intended to simply share our experiences with others. Although the text does not contain any code, I believe that it might be helpful for those unfamiliar with BFF approach. Also, I wanted to show that working with legacy does not always need to be a nail to the coffin, but if you take the right tools and design your architecture accordingly it can turn out quite successful. 😉

If you have any technical question, feel free to ask. I would be more than happy to answer and provide more insight on elements which are most interesting to you.


Also, feel free to comment if there are any questions 😎



1-5 is actually activating my Siri LUL


༼ つ ◕_ ◕ ༽つ GIVE BADGE ༼ つ ◕_ ◕ ༽つ