Git Product home page Git Product logo

lscp-processor's Introduction

LSCP Processor Utils

This module contains utilities for processing lead score files provided by Call Source.

What does this module do?

  • Correctly parsing the CSV files provided by Call Source.
  • Properly formatting known fields (at the moment) for storage purposes, and dynamically adding formatting schemes to data when needed.
  • Storing the parsed content of the CSV files into a MongoDB datastore.
  • Balancing the performance needs (mostly concerned with the data insert latency) and the quality of the data produced by the application.
  • Storing the data from the CSV files in a way where retrieval of appropriate information is straight forward - Since the time zones of the dates are not specified, the dates will be stored using an ISO Date String format (ISO 8601) having a UTC offset of +0000. Rationale: every file contains calls processed objects in which their processingEndTime (for ls scores) and elsProcessingTime (for els scores) are in the same day for ex. when processing a file name called EnhancedLeadScoreCallProcessed20141231.csv the files shall contain call processed objects having an elsProcessingEnd within December 31, 2014 UTC, after parsing the csv file.
  • Ensuring that every data present in the CSV files are stored in the database.
  • Ensuring that there are no duplicate data in the MongoDB database to some degree (currently using sha-1 hashes to ensure uniqueness of the duplicated callIds).

The CSV to JavaScript Object parser

Parses specified csv files into a Javascript object.

Mongodb Storage Utilities

Contains functions which allow the storage of the Javascript objects which are parsed using the CSV to Javascript object parser. This also contains functions which ensures the contents of csv files wouldn’t be duplicated in the database. It also has functions for determining whether a calls processed file is Enhanced or not, and upserts it to the database if it is. Another feature of this module includes a mechanism which includes scores which are scored more than once in a separate database called weirdScores to ensure that all data will be counted as is (while also ensuring the uniqueness of these scores).

lscp-processor's People

Contributors

identor avatar jomar1017 avatar

Stargazers

 avatar  avatar Maria Patricia Bautista avatar Ariel Callanta avatar  avatar  avatar

Watchers

 avatar

lscp-processor's Issues

Not saving every record to the database.

The fallback will not allow a file to be uploaded once a similar record is encountered again. This behavior is desirable in situations where the csv files contains ultimately different records. But once a single record is duplicated in a csv file, the some of the other records might not get uploaded.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.