An open API service indexing awesome lists of open source software.

https://github.com/ayushivashisth/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.
https://github.com/ayushivashisth/customer-relationship-management-system

express mongobd mongoose nodejs npm npm-package npm-scripts render

Last synced: about 2 months ago
JSON representation

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.

Awesome Lists containing this project

README

        

🚀 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](https://crm-api-su4c.onrender.com/)

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! 🚘