EzyPlatform Structure

Updated at 1690771032000

Overview

EzyPlatform consists of 3 main components:

  1. Admin: Provides the administration interface.
  2. Socket: Offers real-time socket APIs for both the administration interface and end-user website.
  3. Web: Delivers the end-user interface.
ezyplatform-structure.png

Admin

Administrators will access this administration interface to manage everything. Initially, EzyPlatform only provides a few basic components for administration purposes, such as admin management, user management, dashboard interfaces for admin, socket, and web. However, by allowing plugin integration, it becomes possible to extend additional features that these plugins offer. An admin can activate and use multiple plugins simultaneously.

You can access the admin interface through this URL: http://localhost:9090/

Socket

Various ports are opened to provide APIs:

  1. 3305: The communication port for TCP, suitable for lightweight API calls for non-web applications.
  2. 2611: The communication port for UDP, which can be used for streaming applications or games to call APIs. As it uses UDP, there is no guarantee that the API calls will be successful to EzyPlatform.
  3. 2208: The typical WebSocket communication port, often used for localhost connections without SSL. Local web applications can use this port to call APIs.
  4. 2812: The WebSocket communication port with SSL. Web applications using HTTPS are required to use this port to call APIs.

Both end-users and administrators will use the real-time APIs provided by Socket. However, there are some differences:

  1. The access token of users and the access token of administrators used to log in to the socket are different.
  2. Users and administrators will be recognized as two different user types in the socket, and you can use this distinction to check permissions before processing APIs.

A socket consists of 2 main components:

  1. Socket Plugin.
  2. Socket App.

Socket Plugin

Typically used for user authentication or background tasks, or some tasks related to the admin as user management is not present here. A socket allows multiple plugins to be activated and used simultaneously.

Socket App

Usually used to provide real-time socket APIs for end-users. Compared to socket plugins, socket apps will be used more frequently. A socket allows multiple apps to be activated and used simultaneously.

Web

Provides the end-user interface or HTTP APIs for end-users. Web has two main components:

  1. Theme: Provides the end-user interface and can also offer HTTP APIs. A web allows only one theme to be activated and used at a time, so changing the theme will also change the user interface accordingly.
  2. Plugin: Offers HTTP APIs. Additionally, it can interfere with interface components provided by the theme through JavaScript or mechanisms defined by the theme.

You can access the end-user interface through this URL: http://localhost:8080/