Skip to content

MyCrm - A Simple and Secure CRM App with tokenized requests and role based authorizations.

Notifications You must be signed in to change notification settings

NeelakandanV/MyCrm-BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyCrm - A CRM App

This documentaion provides details about the Creating,updating and fetching datas of Employees,Leads,Contacts and Services, implemented using Node.js and Express with tokenized requests and role based validations.

Features :-

bcryptjs - For Password hashing,your data is safe and secure.
JWT - For tokenized requests and role based authorizations in our website.
Nodemailer - For sending mails for verification and Password Resets.

Note: Since I'm deployed the apis in render's free tier, The initial request is taking time, Please wait little longer for initial request

API Endpoints:-

Basics:-

Login - Users

Description : This method requires users Email and Password to validate.Only Validated Users are allowed to sign in.

Dashoard - Users

Description : This method will fetch total counts of contacts, Leads and Services Created to display in frontend.

Login - Leads

Description : This method requires Leads Email and Password to validate.Only Validated Leads are allowed to sign in.

Verification Link - Users

Description : This method requires users Email to validate and send mail for verification to that User.Link sent will have JWT which is valid for only 5 minutes.

User Verification - Users

Description : This method will verify the Users and Grant them access.Only verified users are allowed to modify datas in Leads,Contacts and users.Other users can only be able to view the datas.
(id - User Id , pin - Randomly generated String , token - JWT)

Forgot Password Link - Users

Description : This method verify the users with their Email.If the users exists,It will send the reset password Link to their Email.Link sent will have JWT which is valid for only 5 minutes.

Forgot Password Link - Leads

Description : This method verify the leads with their Email.If the leads exists,It will send the reset password Link to their Email.Link sent will have JWT which is valid for only 5 minutes.

Reset Password - Users

Description : This method validate the Reset link and let the users to set or reset their Passwords.
(id - User Id , pin - Randomly generated String , token - JWT)

Reset Password - Leads

Description : This method validate the Reset link and let the leads to set or reset their Passwords.
(id - User Id , pin - Randomly generated String , token - JWT)

Logout - Usesr and Leads

Description - This method will delete the token and logout the users.

AuthCheck - Users and Leads

Description - This method check whether the token is present or not(For Frontend)

Users - Employees

Only Manager and Admin with access can modify Employees data.Users without access can only able to view data.

Create Employee

Description : This method will create new users.

Delete Employee

Description : This method only delete the users not holding any important data.
(id - User Email)

List of Employees

Description - This method will fetch details of all Employees.

Details of Particular Employee

Description - This method will fetch complete details of a Particular employee with Leads, Services and Contacts Created.
(id - User Id)

Update Employee Details.

Description - This method will update the details of an employee
(id - User Id)

Users - Manager*

Only Admin with access can modify Manager data.

Create Manager

Description : This method will create new users.

Delete Manager

Description : This method only delete the managers not holding any important data.
(id - Manager Email)

List of Managers

Description - This method will fetch details of all managers.

Details of Particular Manager

Description - This method will fetch complete details of a Particular manager with Leads, Services and Contacts Created.
(id - Manager Id)

Update Manager Details.

Description - This method will update the details of an manager
(id - Manager Id)

Leads

Only Admin , Manager and Employees with access can modify Leads data.Other can only be able to view it.

Create Lead

Description : This method will create new leads.

Delete Lead

Description : This method delete the lead.
(id - Lead Email)

List of Leads

Description - This method will fetch details of all leads.

Details of Particular Lead

Description - This method will fetch complete details of a Particular Leads with Services Requests Created and Employee who created that lead.
(id - Lead Id)

Update Lead Status

Description - This method will update the status of a Lead
(id - Lead Id)

Service Requests

Only Leads can create Service Requests.

Only Admin , Manager and Employees with access can modify Service Request .Other can only be able to view it.

Create Service Requests

Description : This method will create new service requests.

Delete Service Request

Description : This method delete the Service Request.
(id - Service Request Id)

List of Service Requests.

Description - This method will fetch details of all service requests.

Details of Particular service Request.

Description - This method will fetch complete details of a Particular Service Request with details of Employee assigned and lead who created that request.
*(id - Service Request Id)

Update Service Request Status

Description - This method will update the status of a Service Request
(id - Service Request Id)

Contacts

Only Admin , Manager and Employees with access can modify Contacts.Other can only be able to view it.

Create Contact

Description : This method will create new contacts.

Delete Contact

Description : This method delete the Contact.
(id - Contact Email)

List of Contacts

Description - This method will fetch details of all contacts.

Details of Particular Contact

Description - This method will fetch complete details of a Particular Contact.
(id - Contact Id)

Update Contact Details

Description : This method will update the details of a contact.
(id - Contact Id)

Convert Contact as Lead.

description : This method will delete the contact as contact and create them as lead.
(id - Contact Email)