updxate algolia

This commit is contained in:
Sara Vieira
2018-11-25 14:57:24 +01:00
parent 6e34c1c667
commit 49b083d46a
14 changed files with 3685 additions and 471 deletions

View File

@@ -1,2 +0,0 @@
!build

1
.gitignore vendored
View File

@@ -2,3 +2,4 @@ node_modules
/build
/*.log
.DS_Store
.env

View File

@@ -1,6 +0,0 @@
FROM nginx:alpine
LABEL author="Sara Vieira"
COPY ./build /var/www
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
ENTRYPOINT ["nginx","-g","daemon off;"]

View File

@@ -15,31 +15,7 @@ const fixCityName = (city, company) =>
? substitutions[company][city]
: city
const getLocation = name =>
fetch(
`https://maps.googleapis.com/maps/api/geocode/json?address=${name}&key=AIzaSyDMpDkPdvwEG9mxQ3sA6vaKrq64V7trj_4`
)
.then(data => data.json())
.then(({ results }) => results[0] || { address_components: [] })
.catch(console.log)
module.exports = async ({ url, selector, company }) => {
const arr = []
await osmosis
.get(url)
.find(selector)
.set('city')
.data(data => {
arr.push({
name: fixCityName(data.city, company),
company,
})
})
// .log(console.log)
// .error(console.log)
// .debug(console.log)
.done(() => arr)
const leMap = async (arr, company) => {
const map = arr.map(async a => {
const data = await getLocation(removeAccents(a.name))
@@ -80,3 +56,31 @@ module.exports = async ({ url, selector, company }) => {
console.log('The file was saved!')
})
}
const getLocation = name =>
fetch(
`https://maps.googleapis.com/maps/api/geocode/json?address=${name}&key=AIzaSyDMpDkPdvwEG9mxQ3sA6vaKrq64V7trj_4`
)
.then(data => data.json())
.then(({ results }) => results[0] || { address_components: [] })
.catch(console.log)
module.exports = async ({ url, selector, company }) => {
const arr = []
await osmosis
.get(url)
.find(selector)
.set('city')
.data(data => {
arr.push({
name: fixCityName(data.city, company),
company,
})
})
// .log(console.log)
// .error(console.log)
// .debug(console.log)
.done(() => arr)
leMap(arr, company)
}

View File

@@ -1,8 +1,54 @@
// The Beat App
// https://twitter.com/TheBEATapp/status/1066660047575498752
module.exports = [
{ company: 'Beat', name: 'Lima' },
{ company: 'Beat', name: 'Santiago' },
{ company: 'Beat', name: 'Bogota' },
{ company: 'Beat', name: 'Athens' },
{
company: "Beat",
name: "Lima",
info: {
formatted_address: "Lima, Peru",
country: {
long_name: "Peru",
short_name: "PE",
types: ["country", "political"]
},
place_id: "ChIJxz7uGfbFBZERSi5FzLlsIBQ"
}
},
{
company: "Beat",
name: "Santiago",
info: {
formatted_address: "Santiago, Santiago Metropolitan Region, Chile",
country: {
long_name: "Chile",
short_name: "CL",
types: ["country", "political"]
},
place_id: "ChIJL68lBEHFYpYRMQkPQDzVdYQ"
}
},
{
company: "Beat",
name: "Bogota",
info: {
formatted_address: "Bogotá, Bogota, Colombia",
country: {
long_name: "Colombia",
short_name: "CO",
types: ["country", "political"]
},
place_id: "ChIJKcumLf2bP44RFDmjIFVjnSM"
}
},
{
company: "Beat",
name: "Athens",
info: {
formatted_address: "Athens, Greece",
country: {
long_name: "Greece",
short_name: "GR",
types: ["country", "political"]
},
place_id: "ChIJ8UNwBh-9oRQR3Y1mdkU1Nic"
}
}
]

View File

@@ -1,19 +0,0 @@
// Chauffeur Prive
module.exports = [
{
name: 'lisbon',
company: 'Chauffeur Prive',
},
{
name: 'Lyon',
company: 'Chauffeur Prive',
},
{
name: 'Paris',
company: 'Chauffeur Prive',
},
{
name: 'Cannes',
company: 'Chauffeur Prive',
},
]

View File

@@ -0,0 +1,54 @@
module.exports = [
{
name: "lisbon",
company: "Chauffeur Prive",
info: {
formatted_address: "Lisbon, Portugal",
country: {
long_name: "Portugal",
short_name: "PT",
types: ["country", "political"]
},
place_id: "ChIJO_PkYRozGQ0R0DaQ5L3rAAQ"
}
},
{
name: "Lyon",
company: "Chauffeur Prive",
info: {
formatted_address: "Lyon, France",
country: {
long_name: "France",
short_name: "FR",
types: ["country", "political"]
},
place_id: "ChIJl4foalHq9EcR8CG75CqrCAQ"
}
},
{
name: "Paris",
company: "Chauffeur Prive",
info: {
formatted_address: "Paris, France",
country: {
long_name: "France",
short_name: "FR",
types: ["country", "political"]
},
place_id: "ChIJD7fiBh9u5kcRYJSMaMOCCwQ"
}
},
{
name: "Cannes",
company: "Chauffeur Prive",
info: {
formatted_address: "Cannes, France",
country: {
long_name: "France",
short_name: "FR",
types: ["country", "political"]
},
place_id: "ChIJ__8MU4CBzhIRIJ6X_aUZCAQ"
}
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -1,85 +1,834 @@
// MyTaxi
// https://ie.mytaxi.com/europeanavailability
// const a = `Dublin, Cork, Galway, Kilkenny, Limerick, Waterford, Sligo, Athlone, Wicklow, Tralee
// London, Nottingham, Oxford, Manchester, Reading, Brighton, Edinburgh,
// Berlin, Bochum, Bonn, Bremen, Cologne, Dortmund, Dresden, Düsseldorf, Duisburg, Essen, Frankfurt, Gelsenkirchen, Hamburg, Hanover, Kiel, Leipzig, Ludwigshafen, Lübeck, Mainz, Munich, Münster, Neuss, Nuremberg, Osnabrück, Potsdam, Saarbrücken, Stuttgart, Weimar, Sylt, Wiesbaden,
// Graz, Vienna,
// Barcelona, Madrid, Sevilla, Valencia, Malaga,
// Lisbon, Porto,
// Milan, Rome, Torino,
// Krakow, Gdańsk, Warsaw, Katowice, Poznan,
// Stockholm`
// .trim()
// .split(',')
// JSON.stringify(
// a.map(b => ({
// company: 'myTaxi',
// name: b.trim(),
// }))
// )
module.exports = [
{ company: 'myTaxi', name: 'Dublin' },
{ company: 'myTaxi', name: 'Cork' },
{ company: 'myTaxi', name: 'Galway' },
{ company: 'myTaxi', name: 'Kilkenny' },
{ company: 'myTaxi', name: 'Limerick' },
{ company: 'myTaxi', name: 'Waterford' },
{ company: 'myTaxi', name: 'Sligo' },
{ company: 'myTaxi', name: 'Athlone' },
{ company: 'myTaxi', name: 'Wicklow' },
{ company: 'myTaxi', name: 'Tralee\nLondon' },
{ company: 'myTaxi', name: 'Nottingham' },
{ company: 'myTaxi', name: 'Oxford' },
{ company: 'myTaxi', name: 'Manchester' },
{ company: 'myTaxi', name: 'Reading' },
{ company: 'myTaxi', name: 'Brighton' },
{ company: 'myTaxi', name: 'Edinburgh' },
{ company: 'myTaxi', name: 'Berlin' },
{ company: 'myTaxi', name: 'Bochum' },
{ company: 'myTaxi', name: 'Bonn' },
{ company: 'myTaxi', name: 'Bremen' },
{ company: 'myTaxi', name: 'Cologne' },
{ company: 'myTaxi', name: 'Dortmund' },
{ company: 'myTaxi', name: 'Dresden' },
{ company: 'myTaxi', name: 'Düsseldorf' },
{ company: 'myTaxi', name: 'Duisburg' },
{ company: 'myTaxi', name: 'Essen' },
{ company: 'myTaxi', name: 'Frankfurt' },
{ company: 'myTaxi', name: 'Gelsenkirchen' },
{ company: 'myTaxi', name: 'Hamburg' },
{ company: 'myTaxi', name: 'Hanover' },
{ company: 'myTaxi', name: 'Kiel' },
{ company: 'myTaxi', name: 'Leipzig' },
{ company: 'myTaxi', name: 'Ludwigshafen' },
{ company: 'myTaxi', name: 'Lübeck' },
{ company: 'myTaxi', name: 'Mainz' },
{ company: 'myTaxi', name: 'Munich' },
{ company: 'myTaxi', name: 'Münster' },
{ company: 'myTaxi', name: 'Neuss' },
{ company: 'myTaxi', name: 'Nuremberg' },
{ company: 'myTaxi', name: 'Osnabrück' },
{ company: 'myTaxi', name: 'Potsdam' },
{ company: 'myTaxi', name: 'Saarbrücken' },
{ company: 'myTaxi', name: 'Stuttgart' },
{ company: 'myTaxi', name: 'Weimar' },
{ company: 'myTaxi', name: 'Sylt' },
{ company: 'myTaxi', name: 'Wiesbaden' },
{ company: 'myTaxi', name: 'Graz' },
{ company: 'myTaxi', name: 'Vienna' },
{ company: 'myTaxi', name: 'Barcelona' },
{ company: 'myTaxi', name: 'Madrid' },
{ company: 'myTaxi', name: 'Sevilla' },
{ company: 'myTaxi', name: 'Valencia' },
{ company: 'myTaxi', name: 'Malaga' },
{ company: 'myTaxi', name: 'Lisbon' },
{ company: 'myTaxi', name: 'Porto' },
{ company: 'myTaxi', name: 'Milan' },
{ company: 'myTaxi', name: 'Rome' },
{ company: 'myTaxi', name: 'Torino' },
{ company: 'myTaxi', name: 'Krakow' },
{ company: 'myTaxi', name: 'Gdańsk' },
{ company: 'myTaxi', name: 'Warsaw' },
{ company: 'myTaxi', name: 'Katowice' },
{ company: 'myTaxi', name: 'Poznan' },
{ company: 'myTaxi', name: 'Stockholm' },
{
company: "myTaxi",
name: "Dublin",
info: {
formatted_address: "Dublin, Ireland",
country: {
long_name: "Ireland",
short_name: "IE",
types: ["country", "political"]
},
place_id: "ChIJL6wn6oAOZ0gRoHExl6nHAAo"
}
},
{
company: "myTaxi",
name: "Cork",
info: {
formatted_address: "109 E Grande Blvd, Tyler, TX 75703, USA",
country: {
long_name: "United States",
short_name: "US",
types: ["country", "political"]
},
place_id: "ChIJmV59un3MSYYR3zEvZ_58SCU"
}
},
{
company: "myTaxi",
name: "Galway",
info: {
formatted_address: "Galway, Ireland",
country: {
long_name: "Ireland",
short_name: "IE",
types: ["country", "political"]
},
place_id: "ChIJ_1stWpWTW0gRgVJJCkQbKwM"
}
},
{
company: "myTaxi",
name: "Kilkenny",
info: {
formatted_address: "Kilkenny, Ireland",
country: {
long_name: "Ireland",
short_name: "IE",
types: ["country", "political"]
},
place_id: "ChIJq8UjNKEwXUgRwHMxl6nHAAo"
}
},
{
company: "myTaxi",
name: "Limerick",
info: {
formatted_address: "1023 Limerick Ln, Healdsburg, CA 95448, USA",
country: {
long_name: "United States",
short_name: "US",
types: ["country", "political"]
},
place_id: "ChIJ8SXGiWAWhIAR2F9fhNvCMK4"
}
},
{
company: "myTaxi",
name: "Waterford",
info: {
formatted_address: "Waterford Twp, MI, USA",
country: {
long_name: "United States",
short_name: "US",
types: ["country", "political"]
},
place_id: "ChIJgVI6Fka9JIgREvVhuMqAXsY"
}
},
{
company: "myTaxi",
name: "Sligo",
info: {
formatted_address: "Sligo, Ireland",
country: {
long_name: "Ireland",
short_name: "IE",
types: ["country", "political"]
},
place_id: "ChIJ6a58Z7XpXkgRgHMxl6nHAAo"
}
},
{
company: "myTaxi",
name: "Athlone",
info: {
formatted_address: "Athlone, Co. Westmeath, Ireland",
country: {
long_name: "Ireland",
short_name: "IE",
types: ["country", "political"]
},
place_id: "ChIJn4xkPgFJXEgRgOO9Ro0a-do"
}
},
{
company: "myTaxi",
name: "Wicklow",
info: {
formatted_address: "Wicklow, Co. Wicklow, Ireland",
country: {
long_name: "Ireland",
short_name: "IE",
types: ["country", "political"]
},
place_id: "ChIJu_laKAKUZ0gR4HcqLqfHAAQ"
}
},
{
company: "myTaxi",
name: "Tralee London",
info: {
formatted_address: "Tralee, Co. Kerry, Ireland",
country: {
long_name: "Ireland",
short_name: "IE",
types: ["country", "political"]
},
place_id: "ChIJ6WJcGmQ1RUgRfzYwl2PgcWw"
}
},
{
company: "myTaxi",
name: "Nottingham",
info: {
formatted_address: "Nottingham, UK",
country: {
long_name: "United Kingdom",
short_name: "GB",
types: ["country", "political"]
},
place_id: "ChIJzXkHOdIyeEgRFdsZGSBjgBA"
}
},
{
company: "myTaxi",
name: "Oxford",
info: {
formatted_address: "Oxford OX1 2JD, UK",
country: {
long_name: "United Kingdom",
short_name: "GB",
types: ["country", "political"]
},
place_id: "ChIJW0iM76nGdkgR7a8BoIMY_9I"
}
},
{
company: "myTaxi",
name: "Manchester",
info: {
formatted_address: "Manchester, UK",
country: {
long_name: "United Kingdom",
short_name: "GB",
types: ["country", "political"]
},
place_id: "ChIJ2_UmUkxNekgRqmv-BDgUvtk"
}
},
{
company: "myTaxi",
name: "Reading",
info: {
formatted_address: "Reading, UK",
country: {
long_name: "United Kingdom",
short_name: "GB",
types: ["country", "political"]
},
place_id: "ChIJtz092XggdEgRlHn6zn-f4So"
}
},
{
company: "myTaxi",
name: "Brighton",
info: {
formatted_address: "233 Branson Landing Blvd, Branson, MO 65616, USA",
country: {
long_name: "United States",
short_name: "US",
types: ["country", "political"]
},
place_id: "ChIJEUBrP4MDz4cR5GN82St-394"
}
},
{
company: "myTaxi",
name: "Edinburgh",
info: {
formatted_address: "Edinburgh, UK",
country: {
long_name: "United Kingdom",
short_name: "GB",
types: ["country", "political"]
},
place_id: "ChIJIyaYpQC4h0gRJxfnfHsU8mQ"
}
},
{
company: "myTaxi",
name: "Berlin",
info: {
formatted_address: "Berlin, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJAVkDPzdOqEcRcDteW0YgIQQ"
}
},
{
company: "myTaxi",
name: "Bochum",
info: {
formatted_address: "Bochum, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJdVfT-Q_guEcRQIdUMYHyJwQ"
}
},
{
company: "myTaxi",
name: "Bonn",
info: {
formatted_address: "Bonn, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJSdrLfJ_hvkcRF5ZcaMb424Y"
}
},
{
company: "myTaxi",
name: "Bremen",
info: {
formatted_address: "Bremen, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJNePuDBAosUcRUd83-VyI6MI"
}
},
{
company: "myTaxi",
name: "Cologne",
info: {
formatted_address: "Cologne, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ5S-raZElv0cR8HcqSvxgJwQ"
}
},
{
company: "myTaxi",
name: "Dortmund",
info: {
formatted_address: "Dortmund, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJEXrwv2AXuUcRUIdUMYHyJwQ"
}
},
{
company: "myTaxi",
name: "Dresden",
info: {
formatted_address: "Dresden, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJqdYaECnPCUcRsP6IQsuxIQQ"
}
},
{
company: "myTaxi",
name: "Duusseldorf",
info: {
formatted_address: "Düsseldorf, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJB1lG8XvJuEcRsHMqSvxgJwQ"
}
},
{
company: "myTaxi",
name: "Duisburg",
info: {
formatted_address: "Duisburg, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJOyeLpfW-uEcRwHNUMYHyJwQ"
}
},
{
company: "myTaxi",
name: "Essen",
info: {
formatted_address: "Essen, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJOfarlrfCuEcRnSytpBHhAGo"
}
},
{
company: "myTaxi",
name: "Frankfurt",
info: {
formatted_address: "Frankfurt, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJxZZwR28JvUcRAMawKVBDIgQ"
}
},
{
company: "myTaxi",
name: "Gelsenkirchen",
info: {
formatted_address: "Gelsenkirchen, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ71fh7eHluEcREH5UMYHyJwQ"
}
},
{
company: "myTaxi",
name: "Hamburg",
info: {
formatted_address: "Hamburg, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJuRMYfoNhsUcRoDrWe_I9JgQ"
}
},
{
company: "myTaxi",
name: "Hanover",
info: {
formatted_address: "204 W North St, Hanover, KS 66945, USA",
country: {
long_name: "United States",
short_name: "US",
types: ["country", "political"]
},
place_id: "ChIJk8LCKa0llocR54_qcsyAwAU"
}
},
{
company: "myTaxi",
name: "Kiel",
info: {
formatted_address: "Kiel, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJrZfujw1WskcRIANYxmOJJAQ"
}
},
{
company: "myTaxi",
name: "Leipzig",
info: {
formatted_address: "Leipzig, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJcywPIBj4pkcRUvW0udKA35M"
}
},
{
company: "myTaxi",
name: "Ludwigshafen",
info: {
formatted_address: "Ludwigshafen, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJY4Hac2nMl0cRwhx3V3rcjjk"
}
},
{
company: "myTaxi",
name: "Luubeck",
info: {
formatted_address: "Lübeck, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ850L91MJskcRtBJ-PldfcvQ"
}
},
{
company: "myTaxi",
name: "Mainz",
info: {
formatted_address: "Mainz, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJeRPfMy6RvUcRoBvbENXUIgQ"
}
},
{
company: "myTaxi",
name: "Munich",
info: {
formatted_address: "Munich, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ2V-Mo_l1nkcRfZixfUq4DAE"
}
},
{
company: "myTaxi",
name: "Muunster",
info: {
formatted_address: "Münster, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ32D3mcO6uUcR6yjze6dM6yE"
}
},
{
company: "myTaxi",
name: "Neuss",
info: {
formatted_address: "Neuss, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJTeoaMQC1uEcRk5j5J5izBcU"
}
},
{
company: "myTaxi",
name: "Nuremberg",
info: {
formatted_address: "Nuremberg, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ0xy2ta5Xn0cRtyGMqYWvXd0"
}
},
{
company: "myTaxi",
name: "Osnabruuck",
info: {
formatted_address: "Osnabrück, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJTV17aZjluUcRYFwAY3fPJgQ"
}
},
{
company: "myTaxi",
name: "Potsdam",
info: {
formatted_address: "Potsdam, NY 13676, USA",
country: {
long_name: "United States",
short_name: "US",
types: ["country", "political"]
},
place_id: "ChIJl-PSVsZgzEwRe1tS7kV0d40"
}
},
{
company: "myTaxi",
name: "Saarbruucken",
info: {
formatted_address: "Saarbrücken, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ68AC41KxlUcRgGvbENXUIgQ"
}
},
{
company: "myTaxi",
name: "Stuttgart",
info: {
formatted_address: "Stuttgart, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ04-twTTbmUcR5M-RdxzB1Xk"
}
},
{
company: "myTaxi",
name: "Weimar",
info: {
formatted_address: "Weimar, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJqVvtMcYapEcRQDYzdMGOIAQ"
}
},
{
company: "myTaxi",
name: "Sylt",
info: {
formatted_address: "Sylt, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJ28OrtFbctEcRRhEw8ruGuYk"
}
},
{
company: "myTaxi",
name: "Wiesbaden",
info: {
formatted_address: "Wiesbaden, Germany",
country: {
long_name: "Germany",
short_name: "DE",
types: ["country", "political"]
},
place_id: "ChIJO4RcSdm9vUcRwWYzw4D9EQY"
}
},
{
company: "myTaxi",
name: "Graz",
info: {
formatted_address: "Graz, Austria",
country: {
long_name: "Austria",
short_name: "AT",
types: ["country", "political"]
},
place_id: "ChIJu2UwF4c1bkcRm93f0tGKjv4"
}
},
{
company: "myTaxi",
name: "Vienna",
info: {
formatted_address: "Vienna, Austria",
country: {
long_name: "Austria",
short_name: "AT",
types: ["country", "political"]
},
place_id: "ChIJn8o2UZ4HbUcRRluiUYrlwv0"
}
},
{
company: "myTaxi",
name: "Barcelona",
info: {
formatted_address: "Barcelona, Spain",
country: {
long_name: "Spain",
short_name: "ES",
types: ["country", "political"]
},
place_id: "ChIJ5TCOcRaYpBIRCmZHTz37sEQ"
}
},
{
company: "myTaxi",
name: "Madrid",
info: {
formatted_address: "Madrid, Spain",
country: {
long_name: "Spain",
short_name: "ES",
types: ["country", "political"]
},
place_id: "ChIJgTwKgJcpQg0RaSKMYcHeNsQ"
}
},
{
company: "myTaxi",
name: "Sevilla",
info: {
formatted_address: "Seville, Spain",
country: {
long_name: "Spain",
short_name: "ES",
types: ["country", "political"]
},
place_id: "ChIJkWK-FBFsEg0RSFb-HGIY8DQ"
}
},
{
company: "myTaxi",
name: "Valencia",
info: {
formatted_address: "1800 South Kirkman Road, Orlando, FL 32811, USA",
country: {
long_name: "United States",
short_name: "US",
types: ["country", "political"]
},
place_id: "ChIJzwL2jhh554gRfpxsbwmx9QE"
}
},
{
company: "myTaxi",
name: "Malaga",
info: {
formatted_address: "Málaga, Spain",
country: {
long_name: "Spain",
short_name: "ES",
types: ["country", "political"]
},
place_id: "ChIJUdEwjWn2cg0RgOZ2pXjSAwQ"
}
},
{
company: "myTaxi",
name: "Lisbon",
info: {
formatted_address: "Lisbon, Portugal",
country: {
long_name: "Portugal",
short_name: "PT",
types: ["country", "political"]
},
place_id: "ChIJO_PkYRozGQ0R0DaQ5L3rAAQ"
}
},
{
company: "myTaxi",
name: "Porto",
info: {
formatted_address: "Porto, Portugal",
country: {
long_name: "Portugal",
short_name: "PT",
types: ["country", "political"]
},
place_id: "ChIJwVPhxKtlJA0RvBSxQFbZSKY"
}
},
{
company: "myTaxi",
name: "Milan",
info: {
formatted_address: "Milan, Metropolitan City of Milan, Italy",
country: {
long_name: "Italy",
short_name: "IT",
types: ["country", "political"]
},
place_id: "ChIJ53USP0nBhkcRjQ50xhPN_zw"
}
},
{
company: "myTaxi",
name: "Rome",
info: {
formatted_address: "Rome, Metropolitan City of Rome, Italy",
country: {
long_name: "Italy",
short_name: "IT",
types: ["country", "political"]
},
place_id: "ChIJu46S-ZZhLxMROG5lkwZ3D7k"
}
},
{
company: "myTaxi",
name: "Torino",
info: {
formatted_address: "Turin, Metropolitan City of Turin, Italy",
country: {
long_name: "Italy",
short_name: "IT",
types: ["country", "political"]
},
place_id: "ChIJ31ztwwxtiEcR4JQ8R33mBQQ"
}
},
{
company: "myTaxi",
name: "Krakow",
info: {
formatted_address: "Kraków, Poland",
country: {
long_name: "Poland",
short_name: "PL",
types: ["country", "political"]
},
place_id: "ChIJ0RhONcBEFkcRv4pHdrW2a7Q"
}
},
{
company: "myTaxi",
name: "Gdańsk",
info: {
formatted_address: "Gdańsk, Poland",
country: {
long_name: "Poland",
short_name: "PL",
types: ["country", "political"]
},
place_id: "ChIJb_rUFBxz_UYRjb63Y_H7uZs"
}
},
{
company: "myTaxi",
name: "Warsaw",
info: {
formatted_address: "Warsaw, Poland",
country: {
long_name: "Poland",
short_name: "PL",
types: ["country", "political"]
},
place_id: "ChIJAZ-GmmbMHkcR_NPqiCq-8HI"
}
},
{
company: "myTaxi",
name: "Katowice",
info: {
formatted_address: "Katowice, Poland",
country: {
long_name: "Poland",
short_name: "PL",
types: ["country", "political"]
},
place_id: "ChIJ0cyhNiPOFkcRu_pZBTUqr7k"
}
},
{
company: "myTaxi",
name: "Poznan",
info: {
formatted_address: "Poznań, Poland",
country: {
long_name: "Poland",
short_name: "PL",
types: ["country", "political"]
},
place_id: "ChIJtwrh7NJEBEcR0b80A5gx6qQ"
}
},
{
company: "myTaxi",
name: "Stockholm",
info: {
formatted_address: "Stockholm, Sweden",
country: {
long_name: "Sweden",
short_name: "SE",
types: ["country", "political"]
},
place_id: "ChIJywtkGTF2X0YRZnedZ9MnDag"
}
}
]

32
data/transform-data.js Normal file
View File

@@ -0,0 +1,32 @@
require('dotenv').config()
const requireDir = require('require-dir')
const companies = requireDir('./single')
let algoliasearch = require('algoliasearch')
// eslint-disable-next-line
const data = [].concat.apply([], Object.values(companies))
const newArray = data.reduce((acc, curr) => {
const newItem = {
...curr,
objectID: curr.info.place_id,
company: [curr.company],
}
if (acc.find(a => curr.info.place_id === a.info.place_id)) {
const current = acc.find(a => curr.info.place_id === a.info.place_id)
if (!current.company.includes(curr.company))
current.company.push(curr.company)
} else {
acc.push(newItem)
}
return acc
}, [])
let client = algoliasearch('UEHWANDHH2', process.env.ALGOLIA_KEY)
let index = client.initIndex('cities')
index.addObjects(newArray, (err, content) => {
console.log(content)
})

View File

@@ -1,112 +0,0 @@
# This config has used https://github.com/jessfraz/docker-presentation/blob/master/nginx/basic.conf
worker_processes 1;
events {
worker_connections 8000;
multi_accept on;
use epoll;
}
http {
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay off;
# Enable Gzip compressed.
gzip on;
# Enable compression both for HTTP/1.0 and HTTP/1.1 (required for CloudFront).
gzip_http_version 1.0;
# Compression level (1-9).
# 5 is a perfect compromise between size and cpu usage, offering about
# 75% reduction for most ascii files (almost identical to level 9).
gzip_comp_level 5;
# Don't compress anything that's already small and unlikely to shrink much
# if at all (the default is 20 bytes, which is bad as that usually leads to
# larger files after gzipping).
gzip_min_length 256;
# Compress data even for clients that are connecting to us via proxies,
# identified by the "Via" header (required for CloudFront).
gzip_proxied any;
# Tell proxies to cache both the gzipped and regular version of a resource
# whenever the client's Accept-Encoding capabilities header varies;
# Avoids the issue where a non-gzip capable client (which is extremely rare
# today) would display gibberish if their proxy gave them the gzipped version.
gzip_vary on;
# Compress all output labeled with one of the following MIME-types.
gzip_types
application/atom+xml
application/javascript
application/json
application/rss+xml
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/svg+xml
image/x-icon
text/css
text/plain
text/x-component;
# text/html is always compressed by HttpGzipModule
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format compression '$remote_addr - $remote_user [$time_local] '
'"$request" $status $upstream_addr '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';
server {
listen 80;
access_log /var/log/nginx/access.log compression;
root /var/www;
index index.html index.htm;
location ~* \.(?:manifest|appcache|html?|xml|json)$ {
expires -1;
# access_log logs/static.log; # I don't usually include a static log
}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to redirecting to index.html
try_files $uri $uri/ /index.html;
}
# Media: images, icons, video, audio, HTC
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
location ~* \.(?:css|js)$ {
try_files $uri =404;
expires 1y;
access_log off;
add_header Cache-Control "public";
}
# Any route containing a file extension (e.g. /devicesfile.js)
location ~ ^.+\..+$ {
try_files $uri =404;
}
location /static/ {
root /var/www;
}
}
}

View File

@@ -1,5 +0,0 @@
{
"version": 1,
"alias": "https://isthereuber.in",
"type": "docker"
}

View File

@@ -43,6 +43,7 @@
},
"dependencies": {
"algoliasearch": "^3.30.0",
"dotenv": "^6.1.0",
"emotion": "^9.2.12",
"emotion-theming": "^9.2.9",
"isomorphic-fetch": "^2.2.1",
@@ -54,7 +55,8 @@
"react-confetti": "^2.3.0",
"react-emotion": "^9.2.12",
"react-emotion-flexboxgrid": "^9.0.0",
"remove-accents": "^0.4.2"
"remove-accents": "^0.4.2",
"require-dir": "^1.1.0"
},
"lint-staged": {
"*.js": [

View File

@@ -2723,6 +2723,11 @@ dot-prop@^4.1.0:
dependencies:
is-obj "^1.0.0"
dotenv@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.1.0.tgz#9853b6ca98292acb7dec67a95018fa40bccff42c"
integrity sha512-/veDn2ztgRlB7gKmE3i9f6CmDIyXAy6d5nBq+whO9SLX+Zs1sXEgFLPi+aSuWqUuusMfbi84fT8j34fs1HaYUw==
download@^4.0.0, download@^4.1.2:
version "4.4.3"
resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac"
@@ -7294,6 +7299,11 @@ request@2.81.0:
tunnel-agent "^0.6.0"
uuid "^3.0.0"
require-dir@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/require-dir/-/require-dir-1.1.0.tgz#1ce24f41b57bcc31210fe0a9c4ede85b28cfa907"
integrity sha512-XwZR1Gdv8rme0xLSRmxWNue/xQ5mgIfFGwbBJaF7TbFqQBgEBTr/M1/73a4dfn/keF5WDDiUr6RAF4nA1LskrQ==
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"