CLDG is a data generation tool that attempts to emulate a dataset similar to what would be used by a Cruise Line.
Ships - A list of ships that make up a Cruise line's active fleet
Voyages - A Cruise Line has N number of voyages
Customers & Reservations - Each Voyage has N number of customers (i.e. 3,500). Each customer has a reservation.
Credits - Each Customer makes between X and Y purchases per voyage (i.e. 3 - 10)
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
python datagen.py <path to config>
Config informaiton is located in config.json
. An example:
{
"couchbaseAddress": "52.38.87.178",
"couchbaseUser": "Administrator",
"couchbasePassword": "password",
"targetBucket": "commerce",
"numVoyages" : 10,
"customersPerVoyage": 3500,
"voyagesFromDate": "2018-01-01",
"minVoyageDays": 3,
"maxVoyageDays": 14,
"minCreditsPerCustomer": 1,
"maxCreditsPerCustomer": 15
}
couchbaseAddress
- The IP address or hostname to your Couchbase instancecouchbaseUser
- Couchbase usernamecouchbasePassword
- Couchbase passwordtargetBucket
- The bucket where generated documents should be upsertednumVoyages
- The number of voyages to generatecustomersPerVoyage
- The number of customers per voyage to generatevoyagesFromDate
- The date to start generating voyages from. Dates will be randomly generated.minVoyageDays
- The shortest duration that a voyage can bemaxVoyageDays
- The longest durtation that a voyage can beminCreditsPerCustomer
- The minimum number of purchases a customer can makemaxCreditsPerCustomer
- The maximum number of purchases a customer can make