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.
(link to Lucidchart)
Refers to example JSON objects of each collection in the db/json_examples.js file. The comments describe some rules for the fields.
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:
-
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.
- MongoDB for the database server. By default, MongoDB runs on
-
There are two ways to regenerate the sample database.
-
Using mongorestore to load data from dump files.
mongorestore db/dump/
-
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
-
-
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
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:
-
Install the required packages:
npm install
-
Start the server:
npm start
-
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).