Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Separate core, admin, api and frontend modules #5

Open
6 of 11 tasks
edigu opened this issue Jul 16, 2015 · 0 comments
Open
6 of 11 tasks

[WIP] Separate core, admin, api and frontend modules #5

edigu opened this issue Jul 16, 2015 · 0 comments

Comments

@edigu
Copy link
Collaborator

edigu commented Jul 16, 2015

For different modules for three different aspects would be perfect for maintainable and robust application infrastructure.

  • Create a Frontend module for www.boilerplate.local (public website)
  • Create an Admin module for admin.boilerplate.local (administration interface on a different domain)
  • Create an Api module for api.boilerplate.local (a minimal Restful API).
  • Keep only core functionality inside the Core module. For example;
    • Api module shouldn't need and/or start sessions.
    • Admin and Frontend modules shouldn't load on API requests. DONE
    • Core and Admin modules should be loaded on admin.boilerplate.local and Frontend and Api is not. DONE
    • Core and Frontend modules should be loaded on www.boilerplate.local and Admin and Api is not. DONE
  • Improve grunt configuration file and separate admin and frontend related assets.
  • Logging in to www.boilerplate.local shouldn't mean signing-in to administration interface with same account. Think about separating sessions by domains.
  • Consider creating a BaseAdminController for Admin module. Probably we'll want to implement the onDispatch($e) method inside.
  • Consider rendering the output in JSON format on Api module and this module MAY/SHOULD utilize other well-written libraries like zf-rest, zf-hal etc..
  • Write unit tests.
  • Separate module configuration cache settings since the application doesn't loads every module on each request. Defining domains on early steps of dispatching process may appropriate decision.
  • Create a Console module to provide a common CLI interface to the application. All console controllers should derived from a common BaseConsoleController and each controller SHOULD consume the various application services. Logging and exception handling may resolved in controller level.

Finally document how to run same application on different domains with different aspects while keeping module loading & bootstrapping process lightweight.

@edigu edigu changed the title Separate core, admin, api and frontend modules [WIP] Separate core, admin, api and frontend modules Jul 16, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant