Versions Compared

Key

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

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

...