Finely slice the onion and garlic. Chop the carrot.
Heat some oil in a large pan, then gently sauté the onion for 5 minutes, add the garlic and carrot and stir for a minute or so.
Add the tomato purée and ground spices and stir for a minute.
Add the passata and the water, season with salt and pepper, and add the cinnamon, star anise and bay leaf. Bring to the boil.
Put a lid on and simmer for 20 minutes, or until you get a thick sauce.
Meanwhile, take the meat off the chicken bones and shred them into small pieces. Cut the aubergine into bite-sized chunks, the preserved lemon into tiny pieces.
Add the meat, beans, aubergine & lemon to the stew and cook for another 5-8 minutes.
Serve with fresh coriander leaves, scattered on top.