Wizdesk: Elevate Your CRM Experience with Integration, Efficiency, and Versatility.
APIwiz is proud to make Wizdesk public for Contributions
Wizdesk is the gateway to seamlessly integrate with Jira, offering a cost-effective open-source alternative with robust issue tracking, efficient communication, and real-time notifications
This is the backend code for Wizdesk, <- Click here to go to UI setup
- You will need to setup a private aws bucket.
- save the access key, secret key, region names and bucket names. these need to be updated in the config and env as given in the following sections.
- Generate a RSA public and private key pair using this website.
- Enable google oauth for your dns/localhost url. here are the docs
- Enable an existing/new gmail to be used with nodemailer to send email alerts and invites. follow this blog.
- the password generated after following the blog will be referred to as "generated email password"
- Generate a string of your choice to be used as a JWT Secret.
- Create a mongodb database and replace the url in the place of <mongo_db_url>
Create a .env file and update the following variables accordingly.
PRIVATE_KEY: "< place the generated RSA private key here ( refer to the 2nd point ) >"
JWT_SECRET: "< place a randomly generated string (refer to the 5th point above) >"
AWS_ACCESSKEY: "< place the AWS Access Key ( refer to the 1st point above ) >"
AWS_SECRET_KEY: "< place the AWS Secret Key ( refer to the 1st point above ) >"
GOOGLE_CLIENT_ID: "< place the Google Client Id ( refer to the 3rd point above ) >"
ADMIN_EMAIL: "<optionally you can add admin email in the env >"
ADMIN_PASSWORD: "<optionally you can add admin email in the env >"
Navigate to the ./config.js
and update the following variables accordingly
{
DB_URL: "< place your mongo db url (refer to the 6th point above) >",
NODE_ENV: "development",
PORT: 3002,
AWS_BUCKET_NAME: "<place aws bucket name ( refer to the 1st point above )>",
AWS_REGION: "<place aws bucket region ( refer to the 1st point above )>",
TOKEN_EXPIRY: "24h", // expiry time for login token
INVITE_EXPIRY: "1h", // invite link expiry
RESET_EXPIRY: "300000", // reset password link expiry 5mins,
MAIL_HOST:"smtp.gmail.com",
MAIL_PORT:"587",
MAIL_USER:"< Mail id used to generate below password >",
MAIL_PASSWORD:"< generated email password (refer to 4th point) >",
MAIL_FROM:"< Same as MAIL USER >",
BASE_URL: "http://localhost:3000/"
ADMIN_EMAIL: "< Dummy admin email of your choice >",
ADMIN_PASSWORD: "< admin email password string of your choice >",
}
Insert a admin user document to your local db:
generate a hashed password for the admin user and insert it as a value for the "password" key.
Optionally you can save your admin user password in the config or .env file of your choice.
{
"_id": {
"$oid": "64114ad83d4089dedf268d44"
},
"name": "Admin",
"email": <dummy admin email of your choice>,
"password": <generated hashed password>,
"type": "ADMIN USER",
"lastLogin": {
"$date": "2023-07-11T09:51:59.075Z"
},
"cts": {
"$date": "2023-03-15T04:34:32.566Z"
},
"mts": {
"$date": "2023-07-11T09:51:59.075Z"
},
"__v": 0,
"isLocked": false,
"assignedOrganisations": [],
"isDeleted": false
}
This should start the server, database and populate dummy data in the database to get started.
make sure to use the admin credentials set by you to login to wizdesk.
For general help using Wizdesk, refer to the below discussion
- Github - For bug reports, help, feature requests
All code contributions, including those of people having commit access, must go through a pull request and be approved by a maintaner before being merged. This is to ensure a proper review of all the code.
Kindly read our Contributing Guide to familiarize yourself with Wizdesk's development process, how to suggest bug fixes and improvements, and the steps for building and testing your changes.
For security issues, kindly email us at security@apiwiz.com instead of posting a public issue on Github
Join our growing community! Checkout out our official Blog. Follow us on Twitter, Linkedin