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.
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?
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
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
Gmail
Host
: smtp.sendgrid.netPort
: 465 / 587Auth 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
: 587Auth User
: email username account or M3 FTP master accountAuth Password
: your email password or M3 FTP master password
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.