Technical KB - xModel
I. xModel Tech Stack
Backend
NodeJS with NestJS framework
MongoDB
Redis
FFMPEG
Nginx with http_auth_module to protect assets
Frontend
ReactJS with NextJS framework
Ant design
II. General QA
1. How to configure email?
xModel provides 2 sections in the Admin settings for email
Email Tab
Admin Email
: Email address for who will receive notification from system and contact formSender 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. 465Auth User
: SMTP usernameAuth Password
: SMTP passwordSecure Option
: Enable if use port 465
Note:
You can use format “your name”
email-address
to admin email and sender email. EgAdmin email: “xModel Admin”
admin@myxModel.info
Sender email: “xModel Support“
noreply@myxModel.info
xModel 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.
Note: GA code usually is formatted with G-xxxxxxxxxx
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
Note:
You can enter your GA script to one of these sections
Make sure you entered valid HTML or Javascript script. Otherwise it might break the system
4. How to update or change style?
xModel 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 xModel HTML code and get CSS class name or section then update your style to “Custom header script” section.
5. How to setup xModel payment gateway?
xModel just supports CCBill payment gateway for now.
Go to Admin > Settings > System settings > CCbill and enter CCBill information in the form
CCBill webhook URL: h
ttps://[xModel-v3-api-domain]/payment/ccbill/callhook
(Ex - https://api.xModel.info/payment/ccbill/callhook)Approval URL (redirect URL after payment success) should be
https://your-xModel-domain/payment/success
(Ex - https://xmodel.info/payment/success ). You can See this field under CCBill sub account > Basic tabDenial URL (redirect URL after payment failure or cancel payment) should be
https://your-xModel-domain
(eg https://xmodel.info ). You can See this field under CCBill sub account > Basic tab
Note: For other payment gateways please contact us for customization
6. How to add footer menu?
Go to Admin panel > FE Menu. Here you can see the list and create or update existing menu.
xModel 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 tooIs new tab
: Open link in a new tab once clicking onTitle
: Menu textPath
: Link to the page (you can enter full url here if it is not system page)Section
: Where we will show the menuOrdering
: Enter sort number of menu item in the list
7. SMTP common list and setup
Sendgrid
Host
: smtp.sendgrid.netPort
: 465 / 587Auth User
: apikeyAuth Password
: Your Sendgrid API key Ex-SG.xxxxx
Note:
Sender email in Email tab must valid with domain you verified in Sendgrid dashboard
Have to verify sender domain in Sendgrid dashboard before using https://sendgrid.com/docs/ui/account-and-settings/how-to-set-up-domain-authentication/
Gmail
Host
: smtp.sendgrid.netPort
: 465 / 587Auth User
: Your full email address Ex:youremail@gmail.com
Auth Password
: Your Gmail password
Note:
Sender email in Email tab must be same your gmail address
Please enable less secure option here
M3 Service
Host
: m3 host url Ex -v2010004s.m3xs.net
Port
: 587Auth User
: email username account or M3 FTP master accountAuth Password
: your email password or M3 FTP master password
Note:
Go to M3 control panel and register your email address, then fill to SMTP form
For Linode user, SMTP restrictions are in place by default for Linodes on accounts created after November 5th 2019. You'll need to configure rDNS for your instance and open a Support ticket confirming CAN-SPAM compliance, and Support should lift the restrictions pretty quickly. Check here for more details
8. What are product types on xModel?
xModel 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.