Overview: Nexus CRM is designed to manage customer relationships, sales processes, product inventory, and generate reports. The system includes modules for customers, sales, quotes, products, and reports.
Modules:
- Customer Management
- Sales Management
- Quotes Management
- Product Management
- Reports Management
- Features:
- Add, edit, delete customer profiles
- View customer details
- API Endpoints:
POST /customers
- Create a new customerGET /customers
- Retrieve a list of customersGET /customers/:id
- Retrieve a single customer by IDPUT /customers/:id
- Update a customer by IDDELETE /customers/:id
- Delete a customer by ID
- Features:
- Record new sales
- Track sales status
- Link sales to customers and products
- API Endpoints:
POST /sales
- Record a new saleGET /sales
- Retrieve a list of salesGET /sales/:id
- Retrieve a single sale by IDPUT /sales/:id
- Update a sale by IDDELETE /sales/:id
- Delete a sale by ID
- Features:
- Create and manage quotes
- Convert quotes to sales
- API Endpoints:
POST /quotes
- Create a new quoteGET /quotes
- Retrieve a list of quotesGET /quotes/:id
- Retrieve a single quote by IDPUT /quotes/:id
- Update a quote by IDDELETE /quotes/:id
- Delete a quote by ID
- Features:
- Add, edit, delete product information
- Manage product inventory
- Search and filter products
- API Endpoints:
POST /products
- Add a new productGET /products
- Retrieve a list of productsGET /products/:id
- Retrieve a single product by IDPUT /products/:id
- Update a product by IDDELETE /products/:id
- Delete a product by ID
-
Features:
- Retrive sales,customer and product information
-
API Endpoints:
GET /reports/sales
- Generate a sales report with query parameter (optional)startDate
andendDate
GET /reports/customers
- Generate a customers report with query parameter (optional)startDate
andendDate
GET /reports/products
- Generate a products reportGET /reports/getLast30DaysReport
- Get the last 30 days data report for products, customers, and sales
The flow of each model in Nexus CRM involves CRUD (Create, Read, Update, Delete) operations managed through API endpoints. Here's how each model functions in detail:
- Add Customer: When a new customer is added through a POST request to
/customers
, the customer data is validated and saved in theCustomer
collection. - Edit Customer: A PUT request to
/customers/:id
updates the customer information based on the provided customer ID. - Delete Customer: A DELETE request to
/customers/:id
removes the customer from theCustomer
collection. - View Customer Details: A GET request to
/customers/:id
retrieves a single customer's details. - List Customers: A GET request to
/customers
retrieves a list of all customers, with optional search and filter functionality.
- Record Sale: A POST request to
/sales
records a new sale. The sale data, including customer and product references, is validated and saved in theSale
collection. - Track Sale Status: A PUT request to
/sales/:id
updates the sale status and other details based on the provided sale ID. - Delete Sale: A DELETE request to
/sales/:id
removes the sale from theSale
collection. - View Sale Details: A GET request to
/sales/:id
retrieves a single sale's details. - List Sales: A GET request to
/sales
retrieves a list of all sales, with optional filters.
- Create Quote: A POST request to
/quotes
creates a new quote, linking it to a customer and a product, and saves it in theQuote
collection. - Manage Quote: A PUT request to
/quotes/:id
updates the quote based on the provided quote ID. - Convert Quote to Sale: This can be a special operation where a quote is transformed into a sale, involving data transfer from
Quote
toSale
. - Delete Quote: A DELETE request to
/quotes/:id
removes the quote from theQuote
collection. - View Quote Details: A GET request to
/quotes/:id
retrieves a single quote's details. - List Quotes: A GET request to
/quotes
retrieves a list of all quotes, with optional filters.
- Add Product: A POST request to
/products
adds a new product to theProduct
collection. - Edit Product: A PUT request to
/products/:id
updates the product information based on the provided product ID. - Delete Product: A DELETE request to
/products/:id
removes the product from theProduct
collection. - View Product Details: A GET request to
/products/:id
retrieves a single product's details. - List Products: A GET request to
/products
retrieves a list of all products, with optional search and filter functionality.
- Sales Report: A GET request to
/reports/sales
generates a sales report. Optional query parameters startDate and endDate can be provided to filter sales data within a specific date range. - Customer Report: A GET request to
/reports/customers
generates a customer activity report. Optional query parameters startDate and endDate can be provided to filter customer data within a specific date range. - Product Report: A GET request to
/reports/products
generates a product inventory report, listing all products in the database. - Last30daysSale Report: A GET request to
/reports/getLast30DaysReport
generates a last 30 days report for last30days (customer,product,totalsales,revenue).