Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page gives a global overview of the structure of the CORE module of the OMS system, for more precise design please see below:

Page tree
Page Tree
root@self
startDepth3
excerpttrue


Core goals

The goals of the CORE module is to provide a stable (backend) base for all other services to integrate with and rely on. the core will handle basic member storage, grouping, authentication and editing, as well as providing similar tools for groups created (bodies), on top of this it has integrated supports for oAuth 2.0 authentication such as with Microsoft Office 365. Additionally the core allows a new user to sign up, apply, for AEGEE and link that user to a member object when desired. The core will set up a permission system to be extended upon by the other microservices. The core will not handle the registration, routing, and enabling/disabling other microservices. While at this time of writing the core repository includes a frontend, the endgoal is to have this separated from the core, and let the real core microservice be a backend service solely.

...

  • Service Providers
    • Laravel has a concept of Service Providers, these are classes that register certain functionallity into the service container, which makes it more accessable to the rest of the code and prevents clutter being present in Controllers
  • Eloquent Models
    • Eloquent Models are objects created from and linked to the database, Laravel provides extensive abstraction methods to define relations and in order to easily make and call complex queries
  • Request Objects
    • Request objects are made for every request, these objects contain all the relevant information of the request as well as in some cases performing validation on the request. Request objects are mostly modified by Middleware and read by Controllers.
  • Middleware
    • Logic classes that perform certain actions on request before or after processing the request (by the controllers). Middleware typically do authentication, security, validation and formatting. Middleware are defined registered in kernel.php and assigned to routes in the routes.php file.