Skip to content

This repository contains the backend implementation of a Customer Relationship Management (CRM) system developed using Node.js, Express, and MongoDB. The CRM system manages user accounts, handles public enquiries, and allows employees/counsellors to claim and manage leads.

Notifications You must be signed in to change notification settings

AyushiVashisth/customer-relationship-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 customer-relationship-management-system 🚀

This repository contains the backend implementation of a Customer Relationship Management (CRM) system developed using Node.js, Express, and MongoDB. The CRM system manages user accounts, handles public enquiries, and allows employees/counsellors to claim and manage leads.

Backend Respositry URL 👉 Click here

Technologies Used

Backend
express mongoose typescript

Tools
github npm vscode

Deployment
vercel netlify

Features

  • User Management:

    • Registration of employees and counselors.
    • User login for authentication using JWT tokens.
  • Enquiry Management:

    • Public form submission for prospective clients.
    • Employee/counselor can claim and manage leads.
    • APIs to fetch unclaimed leads and leads claimed by logged-in users.

Technology Stack

  • Node.js: Server-side JavaScript runtime.
  • Express: Web application framework for Node.js.
  • MongoDB: NoSQL database for storing user and enquiry data.
  • JWT (JSON Web Tokens): Token-based authentication for secure communication.

Project Structure

  • Config: Database configuration files.
  • Middleware: Authentication middleware.
  • Models: MongoDB schema definitions for User and Enquiry.
  • Routes: API routes for User and Enquiry functionalities.
  • Index.js: Main entry point for the application

API Endpoints

  • User Management:

    • POST /user/register: Register a new user.
    • POST /user/login: Authenticate and log in a user.
  • Enquiry Management:

    • POST /enquiry/publicForm: Submit a public enquiry form.
    • POST /enquiry/claimLead/:enquiryId: Claim a lead by an authenticated user.
    • GET /enquiry/unclaimedLeads: Get unclaimed leads (requires authentication).
    • GET /enquiry/myLeads: Get leads claimed by the logged-in user (requires authentication).

Getting Started

  1. Clone the repository: git clone
  2. Install dependencies: npm install
  3. Configure environment variables: Create a .env file based on .env.example and provide necessary details.
  4. Start the server: npm start
  5. The server will be running at http://localhost:8080

This is an individual project that I developed as a solo backend developer within 2 hours.

Contribution Guidelines

We welcome contributions to the customer-relationship-management-system project. If you have ideas for new features or find any bugs, please open an issue in the repository. Pull requests are also encouraged.

Show Your Support

If you find this project interesting or valuable, please consider giving it a ⭐️.

🚘 Happy Exploring! 🚘

About

This repository contains the backend implementation of a Customer Relationship Management (CRM) system developed using Node.js, Express, and MongoDB. The CRM system manages user accounts, handles public enquiries, and allows employees/counsellors to claim and manage leads.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published