Document Control
Version | Description | Date |
---|---|---|
1.0.0 | Init document | 30 Jan 2024 |
I. Overview
xStreamer comes with 3 big parts
...
With structures above we can see xStreamer split applications to smaller modules, each module is responsible the app logic
Modules | Description |
---|---|
Auth | Service provides APIs to execute all use-cases related to authentication and authorization such as Sign In, Sign Out, Access Token Verification and User's Roles and Permissions and etc. |
User | Service provides APIs to execute all use-cases related to user domain such as Get, Edit Profile and etc |
Payment | Service provides APIs to execute all use-cases related to payment such as CCBill payment, payment history… |
File | Service provides APIs to execute all use-cases related to user domain such as convert file, create thumbnails, save file to protected folder, get file details… |
Mailer | Service provides APIs to execute all use-cases related to send mail such as create content from template, send mail in queue, etc… |
Message | Service provides APIs to execute all use-cases related to message such as public chat, group chat, private chat |
Performer | Service provides APIs to execute all use-cases related to performer domain such as Get, Edit Profile and etc |
Assets | Service provides APIs to execute all use-cases related to performer domain such as Get, Edit, Upload media data, etc… |
Stream | Service provides APIs to execute all use-cases related to stream such as create connection to ant media |
Socket | Service provides method to communicate between server and browser in with real time message |
Settings | Service provides APIs to execute all user-cases related to settings such as update config, get public config |
Statistic | Service provides API to execute all user-cases related to statistic |
Utils | Service provides common APIs which using among services |
… |
|
1.2 Module structure
A general module will come with below structure.
...
Code Block |
---|
src --app ---layout.tsx ---account -----page.tsx ---videos ----page.tsx --components --interfaces --lib @types style --default.scss public --fonts --icons --sounds --image-file.png --... |
# | Description |
---|---|
src | Contains React components, Redux storage, Socket handler which we use in the app. Written with typescript Check here for nextJS structure |
style | Provide definition of style in the app such as color, font weight… |
public | Contains public static files such as icons, images, sounds |
3. Backend web
Frontend web use NextJS as a main framework, Ant design for UI components with structure is same Frontend web
...