In this Tech conversation, we delve a bit into architecture and design patterns in My Dream Store. Below, are the various components we use the most.
1. LAMP: My Dream Store uses the well tested and tried LAMP stack for serving all the front-end requests.
2. MVC: CodeIgniter is a small and well documented framework. It’s easy to get started with. Using MVC is a constant struggle, especially in PHP. Nevertheless CodeIgniter excels in doing what it does and getting out of the way when it’s not needed.
3. NameSpaces and Composer: What if things don’t fit in the MVC structure? Modern PHP gives you namespaces so that you can have a clean separation of concerns. The excellent Composer ensures that all the open source libraries are available in a jiffy.
4. Classloader: This is one of the internal design patterns of CodeIgniter. It’s good to know the internals of your framework.
5. Interceptor / Filter Pattern: This is responsible for the home page.
6. Declarative Programming: How do you generate UI for any database table on the go? This pattern is used in the Design Studio page and in our internal pages.
7. EAV: This is one of those tricky ones to get right. MySQL can be used as a key-value store, we do it everyday.