Technical KB - xMember

I. xMember Tech Stack

Backend

  1. NodeJS with NestJS framework

  2. MongoDB

  3. Redis

  4. FFMPEG

  5. Nginx with http_auth_module to protect assets

Frontend

  1. ReactJS with NextJS framework

  2. Ant design

II. General QA

1. How to configure email?

xMember provides 2 sections in the Admin settings for email

  • Email Tab

    • Admin email: Email address for who will receive notification from system and contact form

    • Sender email: Email address for who will send the email in system

  • SMTP Tab

    • Host: Enter SMTP host Ex. smtp.google.com

    • Port: SMTP port Ex. 465

    • Auth User: SMTP username

    • Auth Password: SMTP password

    • Secure Option: Enable if use port 465

Note:

  • You can use format “your name” <email-address> to admin email and sender email.

    • Admin email: “xMember Admin” admin@xmember.info

    • Sender email: “xMember Support“ noreply@xmember.info

  • xMember provides SMTP method for email only, almost services provide SMTP config, please check with your service and common list in our document.

2. How to add Google analytics code?

Go to Admin panel > Settings > System settings > Google Analytics and enter your GA code.

3. How to add custom script?

Go to Admin panel > Settings > System settings > Custom. There are 2 section you can enter your custom script

  • Custom header script: website will render this content in the <head> tag

  • Custom body script: website will render this content before </body> tag

4. How to update or change style?

xMember does not provide option to change layout or style in the admin panel. However if you want to custom there are 2 solutions

  • Change style from source code (recommended)

  • Or inspect element in xMember HTML code and get CSS class name or section then update your style to “Custom header script” section.

5. How to setup xMember payment gateway?

xMember just supports CCBill payment gateway for now.

  • Go to Admin > Settings > System settings > CCbill and enter CCBill information in the form

  • CCBill webhook URL: https://[xMember-v3-api-domain]/payment/ccbill/callhook (Ex - https://api.xMember.info/payment/ccbill/callhook)

  • Approval URL (redirect URL after payment success) should be https://your-xmember-domain/payment/success (Ex - https://xmember.info/payment/success ). You can See this field under CCBill sub account > Basic tab

  • Denial URL (redirect URL after payment failure or cancel payment) should be https://your-xmember-domain (ex - https://xmember.info ). You can See this field under CCBill sub account > Basic tab

Go to Admin panel > FE Menu. Here you can see the list and create or update existing menu.

xMember provides only option to change footer menu for now

  • From system page: FE will reload custom script file if it is system url. if enable you can select list of static pages too

  • Is new tab: open link in a new tab once clicking on

  • Title: menu text

  • Path: link to the page (you can enter full url here if it is not system page)

  • Section: where we will show the menu

  • Ordering: enter sort number of menu item in the list

7. SMTP common list and setup

Sendgrid

  • Host: smtp.sendgrid.net

  • Port: 465 / 587

  • Auth user: the string apikey. This setting is the exact string "apikey" and not the API key itself.

  • Auth password: your Sendgrid API key eg: SG.xxxxx

Gmail

  • Host: smtp.sendgrid.net

  • Port: 465 / 587

  • Auth User: Your full email address Ex: youremail@gmail.com

  • Auth Password: Your Gmail password

M3 Service

  • Host: m3 host url Ex - v2010004s.m3xs.net

  • Port: 587

  • Auth User: email username account or M3 FTP master account

  • Auth Password: your email password or M3 FTP master password

8. What are product types on xMember?

xMember provide 2 product options

  • Physical product is physical item such as mobile device, DVD disk, etc...

    • Admin has to ship to user once having an order

    • Admin is able to update shipping code, delivery status is needed in the control panel

  • Digital product is digital item such as photo, video or audio file

    • User purchases digital item will receive email notification with download link of digital item

    • Admin doesn’t need to manage order status, it is completed once user purchased successfully.

9. Image dimension on xMember

By default xMember is using these

  • Logo: 200x92 pixels

  • Welcome image: 386x520 pixels

  • Banner: 1190x300 pixels

  • Home image: 386x520 pixels

  • Model avatar: 500x500 pixels

  • Video thumbnail: 500x500 pixels

  • Login / register page: 1600x830 pixels

  • Favicon: 16 x 16 pixels