Skip to content

Latest commit

 

History

History
133 lines (101 loc) · 5.96 KB

README.md

File metadata and controls

133 lines (101 loc) · 5.96 KB

Saleswize banner

Wizdesk: Elevate Your CRM Experience with Integration, Efficiency, and Versatility.

Made with Node.js Made with React GitHub contributors GitHub issues GitHub stars GitHub closed issues

Twitter Follow Linkedin Follow

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

🚀 Getting Started

This is the backend code for Wizdesk, <- Click here to go to UI setup

✨ PreRequisites

  1. 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.
  2. Generate a RSA public and private key pair using this website.
  3. Enable google oauth for your dns/localhost url. here are the docs
  4. 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"
  5. Generate a string of your choice to be used as a JWT Secret.
  6. 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.

Community Support

For general help using Wizdesk, refer to the below discussion

  • Github - For bug reports, help, feature requests

Contributing

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.

Security

For security issues, kindly email us at security@apiwiz.com instead of posting a public issue on Github

Follow Us

Join our growing community! Checkout out our official Blog. Follow us on Twitter, Linkedin

Thanks to all Contributors 🙏🏼