Skip to content

Latest commit

 

History

History

Server

Saleswize banner

Saleswiz: The CRM Solution for Streamlined Sales and Client Management, Customized to Your Needs.

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

Twitter Follow Linkedin Follow

APIwiz is proud to make Saleswiz public for Contributions
Saleswiz is the gateway to effortless deal management and well-organized client relationships, empowering Sales Executives within APIwiz.

🎉 Now its Open to empower 💪🏻 Sales Executives in your Organisation too

🚀 Getting Started

This is the backend code for Saleswiz, <- Click here to go to UI setup
To getting started in local development environment, just fork the project git repository and follow the below steps:

    git clone https://github.com/<your_github_username>/saleswiz-backend.git
    npm install
    npm start

✨ PreRequisites

  1. You will need to setup 2 aws buckets, one private and one public.
    • save the access keys, secret keys, region names and bucket names. these need to be updated in the config and env as gien 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: "<generated RSA private key>"
JWT_SECRET: "<jwt secret>"
GOOGLE_CLIENT_ID: "<google client id for oauth>"
GOOGLE_CLIENT_SECRET: "<google client secret for oauth>"
AWS_ACCESSKEY: "<private aws access key>"
AWS_SECRET_KEY: "<private aws secret key>"
PUBLIC_AWS_ACCESS_KEY: "<public aws access key>"
PUBLIC_AWS_SECRET_KEY: "<public aws secret key>"

Navigate to the ./config.js and update the following variables accordingly

{
    DB_URL: "<mongo_db_url>",
    NODE_ENV: "development",
    PORT: 3006, // port to run the server
    AWS_BUCKET_NAME: "<aws bucket name>",
    PUBLIC_AWS_BUCKET_NAME: "<public aws bucket name>",
    AWS_REGION: "<aws region>", //same region for public and private buckets
    BASE_URL: "<Base url of frontend Url>",
    TOKEN_EXPIRY: '48h', //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>",
    MAIL_FROM:"<same as MAIL_USER>",
    ADMIN_EMAIL: "<dummy admin email of your choice>",
    ADMIN_PASSWORD: "<admin email password string of your choice>",
}

This should start the server, database and populate dummy data in the database to get started.

Community Support

For general help using Saleswiz, 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 Saleswiz'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 to 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 🙏🏼