An attempt to model/build application like Zomato using The Hexagonal architecture principles.
The hexagonal architecture divides a system into several loosely-coupled interchangeable components, such as the application core, the database, the user interface, test scripts and interfaces with other systems.