Compass is a web-based application that connects to your Discord. Featuring users biography, game list, linking with Steam, PSN and other game services. Manage users, events, connections, ... with the dedicated Discord Bot.
NodeJS For Discord bot and backend
Moleculer
The framework for micro-services, deploying a REST API, and using the MySQL adapter moleculer-db-adapter-sequelize
Discord-js The JS lib to exploit Discord's API
Nodemailer To send emails with Node
React As frontend framework
Semantic UI A lib for frontend UI
-
Clone repo
-
npm install
oryarn
to install Node dependencies -
To the root of the project, add a
.env
file with following content :JWT_SECRET a secret key for the JWT
BOT_TOKEN your discord bot token (see https://discord.com/developers/applications)
SECURE (for website) false will be on
http://
and true will be onhttps://
HOST (for website) the host (ip or domain name)
WEB_PORT (for website) the port in use
MAIL_HOST (mail config) the host of the mail server
MAIL_PORT (mail config) the port of the SMTP
MAIL_ID (mail config) the mail account identifier
MAIL_PASS (mail config) the mail account pass
DB_NAME (db config) the database schema name (database loaded on DB_HOST, port 3306)
DB_USER (db config) the database username
DB_PASS (db config) the database password
DB_HOST (db config) the database host
-
Add a
config.json
at the root of the project with an object containing following key/values :pre the Discord bot command prefixe
guildName the Discord guild name
guildId the Discord guild id
roles An array containing roles. Roles are object with following properties:
name: The name of the role id: The discord id of the role level: The level of permission. It starts at lowest role with 0. Commands are limited for each role and need the sufficient level to be executed.