0.0.31 • Published 10 years ago

forecastjs v0.0.31

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

A wrapper for getting weather data from multiple sources.

Preia date meteo de la diferite servicii si le pune in BD in colectia Meteo.

In fisierul de configurare (FC) config/forecastjs.coffee se indica lista de servicii de unde se colecteaza datele. Pot fi folosite mai multe servicii concomitent.

Tot in FC se indica pentru ce locatii sa se colecteze datele meteo. Lista de locatii se da printr-o lista de geogroup-uri direct in FC, sau se indica calea catre un fisier JSON cu lista de locatii de genul:

[
    {
        "id": 100,
        "name": "Chişinău",
        "parent": 0,
        "latitude": 47.021929410040514,
        "longitude": 28.861770629882812,
        "geogroup": "e118e",
        "type": "M"
    },
    ...
]

In viitor vor trebui preluate locatiile din BD.

Preluarea datelor meteo din BD (metoda "getDailyForecast" este adaugata de ForecastJS)

Meteo.getDailyForecast(geogroup, start_date, day_count, function(err, data) {
    // in "data" sunt datele meteo pentru "day_count" zile incepand cu ziua indicata in "date"
});

In fisierul de configurareLista de locatii pentru care se preia date meteo

Cerinte:

  1. Poate fi folosit doar in CompoundJS + JugglingDB

  2. Trebuie definit Meteo in db/schema.coffee

    Meteo = describe 'Meteo', ->
      property 'date', Date, {index: true}
      property 'geogroup', {index: true}
      property 'temperature', Number
      property 'humidity', Number, {dataType: 'float'}
      property 'pressure', Number, {dataType: 'float'}
      property 'wind_speed', Number, {dataType: 'float'}
      property 'wind_degrees', Number, {dataType: 'float'}
      property 'condition', String
      property 'sky', Number, {dataType: 'float'}
      property 'updated', Date, 'default': -> new Date
  3. Trebuie creat fisierul de configurare config/forecastjs.coffee.

    module.exports =
      development:
        services: [
          adapter: 'fo-openweathermap'              # numele modulului de pe npmjs.org
          defaults:                                 # atribute adaugate in url-ul API-ului de unde se preiau date meteo
            APPID: 'xxxxx'
            units: 'metric'
          update:                                   # indica cand sa se faca update la datele meteo
            cron: '0 */20 * * * *'                  # pattern pentru modulul cron(https://www.npmjs.org/package/cron)
            interval: 8                             # intervalul dintre doua request-uri la serviciu, default = 10
        ]
        timezone: 'Europe/Chisinau'                 # folosit de adaptere pentru modulul cron
        locations:                                  # lista de locatii pentru
          adapter: 'memory'                         # file || memory (|| db?)
          source: ['e118e', 'e10ff']                # lista || calea catre fisierul JSON cu locatii (|| numele colectiei din DB?)
    
      test: ...
      production: ...
0.0.31

10 years ago

0.0.30

10 years ago

0.0.29

10 years ago

0.0.28

10 years ago

0.0.27

10 years ago

0.0.26

10 years ago

0.0.25

10 years ago

0.0.24

10 years ago

0.0.23

10 years ago

0.0.22

10 years ago

0.0.21

10 years ago

0.0.20

10 years ago

0.0.19

10 years ago

0.0.18

10 years ago

0.0.17

10 years ago

0.0.16

10 years ago

0.0.14

10 years ago

0.0.13

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago