Nextjs Faisal Affan Architecture Separate Layer Data, View, Business Logic Separate Reusable Component CI/CD Unit Test