AgencyModel.remove({}, function(err) { for(var itemAgency=0; itemAgency<NbAgency; itemAgency++) { //Agency creation --------------------------------------------------- var agency = new AgencyModel({ agencyId : itemAgency, name: faker.Name.lastName().toLowerCase(), description : 'ARKEA AGENCY', locations: [{ address: fakerBank.address.streetAddress(), postcode:fakerBank.address.zipCode(), city:fakerBank.address.city(), country: 'France', locations : { latitude: fakerBank.address.latitude(), longitude: fakerBank.address.longitude() } }], phones: [ {number:faker.PhoneNumber.phoneNumber()}], emails: [ {value: faker.Internet.email()}], photos: [ {url: faker.Image.business()}] }); agency.save(function(err, agency) { if(err) { return log.error(err); } else { log.info("New agency - name :%s - id :%s", agency.name, agency.agencyId); } }); } });
app.get('/person.json', function(req, res) { var response = { 'image': faker.Image.cats(), 'name': faker.Name.findName(), 'description': faker.Lorem.paragraph(), 'addresses': addresses }; console.log('Sending', response); res.json(response); });
var speakers = _.unique(_.times(10, function(index) { return { id: index + 1, name: Faker.Name.findName(), avatar: Faker.Image.avatar(), intro: Faker.Lorem.sentence(3), email: Faker.Internet.email(), website: Faker.Internet.domainName(), detail: Faker.Lorem.paragraphs(4), expertises: _.unique(_.times(_.random(3, 7), function() { return Faker.random.array_element(topics); })) } }));
mentions: function (count) { count = count || 4; var mentions = [], i, author; for (i = 0; i < count; i++) { author = !i || faker.random.number(4); mentions.push({ author: { name: author ? faker.Name.findName() : null, photo: (!i || (author && faker.random.number(2))) ? faker.Image.avatar() : null, url: (!i || (author && faker.random.number(3))) ? 'http://' + faker.Internet.domainName() + '/' : null }, name: (!i || faker.random.number(6)) ? null : faker.Lorem.words(1 + faker.random.number(4)).join(' '), published: new Date(faker.Date.recent(30)).getTime(), summary: faker.Lorem.paragraph(), url: 'http://' + faker.Internet.domainName() + '/' + faker.Lorem.words(1 + faker.random.number(4)).join('/') }); } return mentions; }
.then(function(companyResults){ console.log('Saved companies: ', companyResults.length); var opportunitySaves = []; var stageEnum = [ 'Offer Accepted', 'Offer Received', 'On-Site Interview', 'Phone Interview' ]; for(var i = 0; i < 20; i++) { var index = Math.floor(Math.random() * companyResults.length); var opportunity = { active: true, company: companyResults[index]._id, jobTitle: faker.Company.bs(), description: faker.Company.catchPhrase(), tags: userTags, links: [{title : faker.random.catch_phrase_descriptor(), url : faker.Image.imageUrl()}], notes: [{date : new Date(), text : faker.Lorem.sentence()}], internalNotes: [{date : new Date(), text : faker.Lorem.sentence()}], questions: [{date : new Date(), question : faker.Lorem.sentence()}], survey: [{ user: userResults[Math.floor(Math.random() * userResults.length)]._id, salary: faker.random.number(80000, 160000), notes: [faker.Lorem.sentence(),faker.Lorem.sentence()], stage: stageEnum[Math.floor(Math.random() * stageEnum.length)] }], category: categoryResults[Math.floor(Math.random() * categoryResults.length)]._id }; opportunitySaves.push(Opportunity.create(opportunity)); // UPDATE COMPANIES WITH OPPERTUNITY } console.log('Saving opportunities.. '); Q.all(opportunitySaves) .then(function(opportunityResults) { console.log('Saved opportunities: ', opportunityResults.length); }, function(error){ console.log(error); }); });
function database(){ var sessions = []; // Stores Database var stores =[ { id: 1, userId: 2, name: 'Starbucks', thumb: '1.jpg', category: ['Cafe'], price: '$', hours: { mon: ['9', '00', '2', '30'], tue: ['9', '00', '6', '30'], wed: ['9', '00', '6', '30'], thu: ['9', '00', '6', '30'], fri: ['9', '00', '6', '30'] }, description: tool.randomText(20), phone: '123-123-1233', address: '105 Research Drive', city: 'Irvine', state: 'CA', zipCode: 90012, reviews: [] }, { id: 2, userId: 2, name: 'Tomo Cafe', thumb: '2.jpg', category: ['Cafe'], price: '$', hours: { mon: ['9', '00', '2', '30'], tue: ['9', '00', '6', '30'], wed: ['9', '00', '6', '30'], thu: ['9', '00', '6', '30'], fri: ['9', '00', '6', '30'] }, phone: '890-123-1233', description: tool.randomText(20), address: '321 Culver Ave.', city: 'Irvine', state: 'CA', zipCode: 90203, reviews: [] } ] // Users Database var users = [ { id: 1, username: "******", password: "******", firstname: "Tesla", lastname: 'Ola', thumb: 'p1.jpg', email: '*****@*****.**', phone: '123-123-1233', address: { address: '100 JD St', city: 'Irvine', state: 'CA', zipCode: 92603, }, business: false, following: [2, 3, 5, 10, 11, 12, 13, 20] }, { id: 2, username: "******", password: "******", firstname: "Steve", lastname: 'Ma', thumb: 'p2.jpg', email: '*****@*****.**', phone: '123-123-1233', address: { address: '100 JD St', city: 'Irvine', state: 'CA', zipCode: 92603, }, business: true, following: [1, 3, 5, 10, 15, 16, 17, 18, 19, 20] }, { id: 3, username: "******", password: "******", firstname: "Helena", lastname: 'Kim', thumb: 'p3.jpg', email: '*****@*****.**', phone: '123-123-1233', address: { address: '100 JD St', city: 'Irvine', state: 'CA', zipCode: 92603, }, business: true, following: [1, 2, 5, 10] } ]; // Add Random Users for (var i=4; i<=20;i++){ var username = Faker.Name.findName(); var firstname = Faker.Name.firstName(); var lastname = Faker.Name.lastName(); var email = Faker.Internet.email(); var phone = Faker.PhoneNumber.phoneNumber(); var address = { address: Faker.Address.streetAddress(), city: Faker.Address.city(), state: Faker.Address.usState(), zipCode: Faker.Address.zipCode(), } var thumb = Faker.Image.avatar(); var following = []; var randomOtherUsers = _.sample(users, 5); for (var x = 0; x < randomOtherUsers.length; x++) { following.push(randomOtherUsers[x].id); } var addNewUser = new constructor.User(i, username, '123', firstname, lastname, thumb, email, phone, address, false, following); users.push(addNewUser); } // Add Random Stores function pickCatetory(){ var categorys = [ 'Restaurants', 'Cafe', 'Shopping', 'Home & Garden', 'Fashion', 'Pet Stores', 'Automotive', 'Sporting Goods', ]; var random = Math.floor(Math.random() * (categorys.length)); var picked = [categorys[random]]; return picked; }; function pickPrice(){ var price = [ '$', '$$', '$$$', '$$$$' ]; var random = Math.floor(Math.random() * (price.length)); var picked = [price[random]]; return picked; }; function pickNumber(min, max) { var random = Math.floor(Math.random() * (max) + min); return random; } for (var i=3; i<=10; i++){ var randomeUser = _.sample(users, 1); var randomName = Faker.Company.companyName(); var randomCategory = pickCatetory(); var randomPrice = pickPrice(); var randomPhone = Faker.PhoneNumber.phoneNumber(); var randomNum1 = pickNumber(6, 12); var randomNum2 = pickNumber(2, 10); if (randomNum1%2 ===0){ var zz = '00'; var tz = '30'; } else { var zz = '00'; var tz = '00'; } var randomHours = { mon: [randomNum1, zz, randomNum2, tz], tue: [randomNum1, zz, randomNum2, tz], wed: [randomNum1, zz, randomNum2, tz], thu: [randomNum1, zz, randomNum2, tz], fri: [randomNum1, zz, randomNum2, tz], }; var randomAddress = { address: Faker.Address.streetName(), city: Faker.Address.city(), state: Faker.Address.usState(), zipCode: Faker.Address.zipCode(), } var addNewStore = new constructor.Store(i, randomeUser[0].id, randomName, randomCategory, randomPrice, randomHours, tool.randomText(20), randomPhone, randomAddress, i+'.jpg'); stores.push(addNewStore); } // Add Random Reviews function pickDate(){ var randomYear = Math.floor(Math.random() * (8)) + 2008; var randomMonth = Math.floor(Math.random() * (11)); var randomDay = Math.floor(Math.random() * (29)) + 1; var randomDate = new Date(randomYear, randomMonth, randomDay); return randomDate; } var userWhoWrite = _.sample(users, 10); var storesArray1 = [stores[0], stores[1], stores[2]]; var storesArray2 = _.difference(stores, storesArray1); function reviewStores(stores, min, max, amount){ for (var i=1; i<=amount; i++){ var randomStore = _.sample(stores, 1); var randomRating = Math.floor(Math.random() * (max-min+1)) + min; var wroteUsers = []; if (typeof(randomStore.reviews) === 'array') { for (var i = 0; i < randomStore.reviews.length; i++) { var matches = _.where(users, {id: randomStore.reviews[i].userId}); wroteUsers.push(matches[0]); } } var diffUser = _.difference(userWhoWrite, wroteUsers); var randomeUser = _.sample(diffUser, 1); var last = _.last(randomStore[0].reviews); if (typeof(last)==='object'){ last = last.id+1 } else { last =1; } var randomDate = pickDate(); var randomTagsArray = []; for (var x = 1; x <= 10; x++) { var tf1 = Math.floor(Math.random() * (2)) + 1; if (tf1 == 1){tf1 = true;} else {tf1= false;} var tf2 = Math.floor(Math.random() * (2)) + 1; if (tf2 == 1){tf2 = true;} else {tf2= false;} var tf3 = Math.floor(Math.random() * (2)) + 1; if (tf3 == 1){tf3 = true;} else {tf3= false;} var randomTag = new constructor.Tags(x, x, tf1, tf2, tf3); randomTagsArray.push(randomTag); } var addNewReview = new constructor.Review(last, randomeUser[0].id, tool.randomText(150), randomRating, randomDate, randomTagsArray); randomStore[0].reviews.push(addNewReview); } } reviewStores(storesArray1, 3, 5, 10); reviewStores(storesArray1, 1, 3, 10); reviewStores(storesArray2, 3, 5, 10); reviewStores(storesArray2, 1, 4, 10); // Add Random Compliment var compliments = []; for (var i = 0; i < 30; i++) { var randomeUser1 = _.sample(users, 1); var randomeUser2 = _.sample(users, 1); var message = Faker.Lorem.sentence(); var match = _.where(compliments, {giver: randomeUser1, receiver:randomeUser2}); if (match.length == 0){ var compliment = new constructor.Compliment(randomeUser1[0].id, randomeUser2[0].id, message); compliments.push(compliment); } } return { stores: stores, users: users, sessions: sessions, compliments: compliments, } }
app.get('/faker/image', function (req, res) { var fakerImageDetails = { avatar: Faker.Image.avatar(), imageUrl: Faker.Image.imageUrl(), abstractImage: Faker.Image.abstractImage(), animals: Faker.Image.animals(), business: Faker.Image.business(), cats: Faker.Image.cats(), city: Faker.Image.city(), food: Faker.Image.food(), nightlife: Faker.Image.nightlife(), fashion: Faker.Image.fashion(), people: Faker.Image.people(), nature: Faker.Image.nature(), sports: Faker.Image.sports(), technics: Faker.Image.technics(), transport: Faker.Image.transport() }; res.json(fakerImageDetails); });
app.get('/random-user', function (req, res) { var user = faker.Helpers.userCard(); user.avatar = faker.Image.avatar(); res.json(user); });
function _valueForKeyInDictionary(key, dictionary) { if (typeof dictionary[key] === "string") { var value = undefined; switch(dictionary[key]) { // Basic case "Number": value = Math.random()*Number.MAX_VALUE; break; case "-Number": value = (Math.random()*Number.MAX_VALUE) * -1; break; case "?Number": value = (Math.random()*Number.MAX_VALUE) * (Math.random() < 0.5 ? -1 : 1); break; case "Integer" : value = Math.round(Math.random()*Number.MAX_VALUE); break; case "-Integer" : value = Math.round(Math.random()*Number.MAX_VALUE) * -1; break; case "?Integer" : value = Math.round(Math.random()*Number.MAX_VALUE) * (Math.random() < 0.5 ? -1 : 1); break; case "Boolean": value = chance.bool(); break; case "Character": value = chance.character(); break; // Text case "Word": value = chance.word(); break; case "Words": value = faker.Lorem.words(); break; case "Sentence": value = faker.Lorem.sentence(); break; case "Sentences": // chance doesnt have sentences, its the same as a paragraph essentially value = lorem({ count : 2 + Math.round(Math.random()*5), units : "sentences", format : "plain" }); break; case "Paragraph": value = chance.paragraph(); break; case "Paragraphs": // Keep using lorem because it includes line breaks value = lorem({ count : Math.round(Math.random()*5), units : "paragraphs", format : "plain" }); break; // Finance case "Dollar": value = chance.dollar(); break; case "CreditCardNumber": value = chance.cc(); break; case "CreditCardType": value = chance.cc_type(); break; case "CreditCardExpiration": value = chance.exp(); break; case "CreditCardExpirationMonth": value = chance.exp_month(); break; case "CreditCardExpirationYear": value = chance.exp_year(); break; // Person case "Name": value = chance.name(); break; case "FirstName": value = chance.first(); break; case "LastName": value = chance.last(); break; case "Gender": value = chance.gender(); break; case "Birthday": value = chance.birthday(); break; case "Age": value = chance.age(); break; // Personal info case "Address": value = chance.address(); break; case "Zip": value = chance.zip(); break; case "City": value = chance.city(); break; case "Street": value = chance.street(); break; case "State": value = chance.state(); break; case "LongState": value = chance.state({full: true}); break; case "Coordinates": value = chance.coordinates(); break; case "Latitude": value = chance.latitude(); break; case "Longitude": value = chance.longitude(); break; case "AreaCode": value = chance.areacode(); break; case "Phone": value = chance.phone(); break; case "Email": value = chance.email(); break; case "Company": value = faker.Company.companyName(); break; // Internet case "Username": value = faker.Internet.userName(); break; case "Domain": value = chance.domain(); break; case "TLD": value = chance.tld(); break; case "IP": value = chance.ip(); break; case "IPv6": value = chance.ipv6(); break; case "Avatar": value = faker.Image.avatar(); break; case "Image": value = "http://instasrc.com/"+Math.round(400+(Math.random()*100))+"x"+Math.round(400+(Math.random()*100)); break; case "FacebookID": value = chance.fbid(); break; case "TwitterHandle": value = chance.twitter(); break; case "Hashtag": value = chance.hashtag(); break; // Color case "HexColor": value = chance.color({format: "hex"}); break; case "RGBColor": value = chance.color({format: "rgb"}); break; // Dates case "-Date": value = faker.Date.past(1 + Math.round(Math.random()*100)); break; case "Date": value = new Date(); break; case "+Date": value = faker.Date.future(1 + Math.round(Math.random()*100)); break; case "?Date": if (Math.random() < 0.5) { value = faker.Date.past(1 + Math.round(Math.random()*100)); } else { value = faker.Date.future(1 + Math.round(Math.random()*100)); } break; case "Day": value = moment().dayOfYear(); break; case "Month": value = chance.month(); break; case "Year": value = chance.year(); break; // Other case "Hash": value = chance.hash({length:25}); break; case "GUID": value = chance.guid(); break; default: value = "Undefined data type."; break; } return value; } else if (typeof dictionary[key] === "object") { if (Array.isArray(dictionary[key])) { if (dictionary[key].length < 1) { return []; } var subdictionary = dictionary[key][0]; var count = dictionary[key][1] ? dictionary[key][1] : (1 + Math.round(Math.random()*10)); var data = []; var subdictionary = JSON.parse(JSON.stringify(subdictionary)); for (var i=0; i<count; i++) { var newDict = {}; for (var subkey in subdictionary) { newDict[subkey] = _valueForKeyInDictionary(subkey, subdictionary); } data.push(newDict); } return data; } else { var value = {}; for (var subkey in dictionary[key]) { value[subkey] = _valueForKeyInDictionary(subkey, dictionary[key]); } return value; } } }
var bob = require("faker"); var randomName = bob.Name.findName(); var randomAddress = bob.Address.streetAddress(); var randomPhone = bob.PhoneNumber.phoneNumber(); var randomEmail = bob.Internet.email(); var randomCompany = bob.Company.companyName(); var randomImage = bob.Image.avatar(); console.log(randomName); console.log(randomAddress); console.log(randomPhone); console.log(randomEmail); console.log(randomCompany); console.log(randomImage);