Skip to content

amyhuang95/enhanced-CRM-mongoDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enhanced Customer Relationship Management System

This project creates a Customer Relationship Management (CRM) system for managing enterprise customers. In addtion, it incorporates risk control mechanism to ensure all parties of a transaction are screened for potential risks. The system is built using Node.js and Express.js, and uses MongoDB as the database.

Conceptual Model

UML Class Diagram UML Class Diagram

Logical Model

(link to Lucidchart) Logical Model Diagram

Schema (Model Definitions)

Refers to example JSON objects of each collection in the db/json_examples.js file. The comments describe some rules for the fields.

Database Setup & Sample Queries

This project uses MongoDB as the database. To use the database, install the required tools, clone this repository, navigate to this project's directory, and run the following commands in the terminal:

  1. Tools required:

    • MongoDB for the database server. By default, MongoDB runs on localhost:27017. Below commands assume this configuration.
    • MongoDB Database Tools for importing and exporting data.
    • MongoDB Compass for viewing the data in a user interface.
  2. There are two ways to regenerate the sample database.

    1. Using mongorestore to load data from dump files.

      mongorestore db/dump/
    2. Using mongoimport to load data from each of the JSON files to a databases called crm. Change the file name to load different collections (Customer, Employee, Lead, Opportunity, Screening Record).

      mongoimport -d crm --jsonArray --file db/sample_data/[filename].json
  3. To run the sample queries using node.js, use the following command. Change the query number to run different queries.

    node db/sample_queries/query1.js

Web Application

The web application implements the Employee and Customer collections. It is built using Node.js and Express.js. To run the web application, clone this repository, navigate to the webapp directory, and run the following commands in the terminal:

  1. Install the required packages:

    npm install
  2. Start the server:

    npm start
  3. Go to http://localhost:3000 in your browser to view the web application.


This project was developed as part of the course CS 5200 Database Management Systems taught by Professor John Alexis Guerra Gomez at Northeastern University (Oakland).

About

Enhanced CRM DBMS using NoSQL

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published