Introduction - mymagic/open_hub GitHub Wiki
OpenHub was conceived so that third-party modules could easily build upon its foundations, making it an extremely customizable startup ecosystem management software.
Concepts
You should be familiar with PHP and Object-Oriented Programming before attempting to write your own module.
A module is an extension to OpenHub that enables any developer to add the following:
- Provide additional functionality to OpenHub.
- Communicate with other services (Acuity Scheduling, Futurelab, Envoy).
- Expose additional functionality thru API interface.
MVC as root
This is the same principle as the Model > View > Controller (MVC) architecture, only in a simpler and more accessible way.
Model
- A model represents the application’s behavior:
- data processing
- database interaction
- etc.
- It describes or contains the data that have been processed by the application.
- It manages this data and guarantees its integrity.
View
- A view is the interface with which the user interacts.
- Its first role is to display the data that has been provided by the model.
- Its second role is to handle all the actions from the user (mouse click, element selection, buttons, etc.), and send these events to the controller.
- The view does not do any processing; it only displays the result of the processing performed by the model, and interacts with the user.
Controller
- The Controller manages synchronization events between the Model and the View, and updates both as needed.
- It receives all the user events and triggers the actions to perform.
- If an action needs data to be changed, the Controller will “ask” the Model to change the data.
- In turn, the Model will notify the View that the data has been changed so that the View can update itself.
Yii Framework
OpenHub is using the latest Yii 1.1.22 version. Using a proven and popular open-source framework allow us to focus on our core business code (managing startup, tracking founder activities, etc.) with greater efficiency while enjoying the stability of a globally recognized framework.