From e013d86c07ef164241e0f9215a01c1c9319a3c56 Mon Sep 17 00:00:00 2001 From: Edin Dazdarevic Date: Mon, 7 Nov 2016 11:42:41 +0100 Subject: [PATCH 1/4] Create README.md --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..21bb6ed --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# kivi.ba + +Kivi je najbolji nacin da nadjete svoj novi dom. + +## Getting started + +### Web + +Dragi developeru, potrebno je da uradis sljedece: + +1. cd web +2. yarn install +3. npm run dev +4. visit http://localhost:8080 From cf3c97d4a908c9cffe6c1476a7654d998054fa0f Mon Sep 17 00:00:00 2001 From: Edin Dazdarevic Date: Mon, 7 Nov 2016 11:43:44 +0100 Subject: [PATCH 2/4] Update README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 21bb6ed..6c26712 100644 --- a/README.md +++ b/README.md @@ -12,3 +12,8 @@ Dragi developeru, potrebno je da uradis sljedece: 2. yarn install 3. npm run dev 4. visit http://localhost:8080 +5. profit! + +Ukljucen je webpack hot module replacement + webpack-dev-server tako da se sve izmjene (osim CSS-a) odmah vide jer se browser sam realoada. + + From 7a16a0191c37627e8ab1691c585fa24c2971d6a9 Mon Sep 17 00:00:00 2001 From: Edin Dazdarevic Date: Mon, 7 Nov 2016 11:45:39 +0100 Subject: [PATCH 3/4] Update README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 6c26712..76c3474 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,13 @@ Dragi developeru, potrebno je da uradis sljedece: Ukljucen je webpack hot module replacement + webpack-dev-server tako da se sve izmjene (osim CSS-a) odmah vide jer se browser sam realoada. +### Crawler + +Trenutno postoji samo jedan crawler a to je `olx.js` + +1. cd crawler +2. babel olx.js > build/olx.js +3. node build/olx.js +4. profit! + +Trenutno se rezultati crawlanja spasavaju u JSON file, naravno ovo moramo cim prije promjeniti. From 007de12e5e7800824dedbd956dfc9c3e045b0c08 Mon Sep 17 00:00:00 2001 From: Edin Dazdarevic Date: Mon, 7 Nov 2016 18:14:36 +0100 Subject: [PATCH 4/4] Delete index.js --- crawler/index.js | 76 ------------------------------------------------ 1 file changed, 76 deletions(-) delete mode 100644 crawler/index.js diff --git a/crawler/index.js b/crawler/index.js deleted file mode 100644 index 7df63f8..0000000 --- a/crawler/index.js +++ /dev/null @@ -1,76 +0,0 @@ -'use strict' -let fetch = require('node-fetch') -let jsonfile = require('jsonfile') -let cheerio = require('cheerio') -let fs = require('fs') -let twilio = require('twilio') - -const accountSid = process.env.TWILLIO_ACCOUNT_SID; -const authToken = process.env.TWILLIO_AUTH_TOKEN; - -if (!accountSid || !authToken) { - console.error('TWILLIO ACCOUNT ID or TOKEN missing!') - process.exit(-1); -} -const client = new twilio.RestClient(accountSid, authToken) - -const kvadrataMax = 45 -const url = `http://www.olx.ba/pretraga?id=23&kategorija=23&stranica=1&stanje=0&vrstapregleda=tabela&sort_order=desc&sort_po=datum&kanton=9&grad%5B%5D=3812&grad%5B%5D=5896&vrsta=samoprodaja&kvadrata_max=${kvadrataMax}`; - - -let data = {} - -const receivers = ['+38761909238', '+38761818304']; - -const sendSMSmessages = (url, price) => { - receivers.forEach(receiver => { - client.messages.create({ - body: `Na piku je izasao interesantan stan: ${url} - Cijena: ${price}`, - to: receiver, - from: '+12034335458' - }, (err, message) => { - if (!err) { - console.log("Message sent to: ", receiver, message.sid); - } else { - console.log("Error while sending SMS to: ", receiver, err); - } - }) - }) -} - -const start = () => { - data = jsonfile.readFileSync('stanovi.json') - console.log("Stanovi data successfully read: ", Object.keys(data).length, " objects") - setInterval(async () => { - - console.log("doing"); - const res = await fetch(url); - const body = await res.text(); - - const $ = cheerio.load(body) - let shouldSave = false - $('#rezultatipretrage').find('.listitem').each((i, elem) => { - const id = $(elem).find('a').first().attr('href') - if (!data[id]) { - const cijena = $(elem).find(".cijena > .datum > span").first().text() - console.log('First time seen: ', id) - data[id] = { - seen: new Date(), - price: cijena - } - shouldSave = true - - sendSMSmessages(id, cijena); - } - - }) - - if (shouldSave) { - console.log("Syncing to the file...") - jsonfile.writeFileSync('stanovi.json', data) - } - }, 60000); - -} -start() -