Closed

Weather Web Service

Weather widget spec

High priority

Normal priority

Requirements:

● Provide up-to-date, location-based weather details

● Feed data in simple JSON-encoded and JSONP-encoded formats

● PHP, MySQL

Performance:

● System should be able to respond to requests within a maximum of 0.5 seconds (minus

external API calls to WeatherBug API)

● System should respond immediately (less than 0.1 seconds and before it tries to access

external APIs) if user-supplied location info is not usable.

● Data should be cached whenever reasonable. Will need to find out how often both feeds

update, but perhaps we can keep the top 20 stations cached for about 7 minutes.

Security:

● Filter XSS attacks

● Only allow GET requests

Languages:

● French and English

Location support:

● location format should be flexible

○ postal/zip code

○ latlong

○ city

○ address (if unknown, the system should return a list of possible matches)

● if there are multiple locations, provide data for the closest one and provide a list of

nearby weather stations

Request structure:

● We will request data from the system using HTTP from external servers. Sometimes this

will occur on the server (JSON), sometimes on the client (JSONP).

● Requests should be a liberal in terms of what they will accept as input. For example,

address formats should be fairly flexible, postal code should be able to understand all

caps / no caps / no space (r3l0a5) / space (r3l 0a5) / url-encoded space (r3l%200a5)

● The system should return data conservatively, that is, it should only return data that has

been requested.

Documentation

Request string

The data to be returned is to be selected using a regular HTTP request with GET parameters.

Parameter Values Returns Default

location [postal code]

[zip code]

[city]

[country]

[address]

[latlong]

null

For a focused location, returns requested weather

data for the nearest station, and a list of 10 closest

stations (if data is set to “all”).

For a general location (city, country, region),

returns the 10 most popular station queries in that

area, based on previous requests to the system.

null returns the 10 most popular station queries to

the system and weather data (if requested) for the

most popular station.

null

data “wb”

“ec”

“both”

“all”

“all_wb”

“all_cwb”

Either data from WeatherBug, data from

Environment Canada, or both.

“all” will return both feeds with list of 10 nearest

stations.

“all_wb” and “all_ec” return weather data for that

feed, and list of 10 nearest stations.

“both”

type “lr”

“c”

“s”

“s_info”

“lr” -- Long-range forecast (7-day)

“c” -- current weather conditions

“s” -- a list of 10 closest stations if possible, or a list

of 10 popular stations in the region.

“s_info” -- location info for a station

“c”

page [int] Used with type=s to get the next 10 results 1

format “json”

“jsonp”

“json” -- returns pure JSON data

“jsonp” -- returns JSONP

“json”

callback [string] Used with jsonp requests to determine the name of

the wrapper for the JSON data

“callback”

dataset “all”

“basic”

Return either all data provided by the two sources,

or just basic weather info.

“basic”

Basic: temp, high, low, wind, windchill, humidity,

precip

temp_units “c”

“f”

celsius or farrenheit “c”

distance_units “ft”

“km”

“mi”

feet, km, or miles “km”

Return Values

(items surrounded by “__” are placeholders)

// ======================================================

// = [url removed, login to view];location=r3l0a5&type=lr =

// ======================================================

//data=all -- all data (wb and ec, and list of nearby stations),

//location=r3l0a5 -- a specific location, so a single station is returned

//type=lr -- long-range forecast

{

"data_segment": "long_range_station_data",

"station_name": "__name of the station__",

"data": {

//If there is only a station available for one of the feeds, the other will be

false.

//For example, "ec": false (see below)

"wb": [

//array should have 7 members, 1 for each day in the forecast

{

"__unix datestamp__": {

"temp": "__temperature in C__",

""

}

Skills: MySQL, PHP

See more: weatherbug jsonp, web service calls external weather web service, what is.json, what is data in data structure, web service postal code, web server languages, web languages list, web based languages, weatherbug com, weatherbug, weather apis, type of data structure, tries data structure in c, tries data structure, tries com, temp service, string in data structure, string data structure, results focused, php client of canada

About the Employer:
( 0 reviews ) Winnipeg, Canada

Project ID: #1189885

9 freelancers are bidding on average $1203 for this job

fusioninformatic

Hi Good Morning, Hope you are well. We have reviewed your proposal and we found that we can fit into your requirement. We have very strong expertise in building small to large scale web application. Core Ex More

$1450 USD in 25 days
(1 Review)
3.5
theredesign

Hello i'm ready to start right now!!!

$750 USD in 35 days
(4 Reviews)
3.2
wisknowsoftware

Greetings, I’m the Co-Founder & CEO with WisKnowTech Software’s, one of the India's highly skilled web technology experts. We specialize in giving an App idea a concrete shape with a Guarantee of Excellence, Quick t More

$1250 USD in 10 days
(0 Reviews)
0.0
rkis1215

Hello i would like to work with you on this project.

$1500 USD in 15 days
(0 Reviews)
0.0
sunnygandass

Please check your pmb.

$1500 USD in 7 days
(0 Reviews)
2.5
Apnafahid

This is very Interesting project for us,Our team of 5-year experience professional web developers & database management.

$1500 USD in 30 days
(0 Reviews)
0.0
ACCA2050

Hello! I'm interested about the project you have posted and I'm fully understood the description. Please consider my bid. Hope to work from you soon.

$1200 USD in 16 days
(0 Reviews)
0.0
Sanchennai

Hi, This is santhosh from Veltrod Technologies. We have the very Well experienced team to develop like these projects. and also we will deliver the projects as per our client expectations. Refer our site; [login to view URL] More

$1000 USD in 20 days
(0 Reviews)
0.0
zaheerg

Hi, This job seems to be interesting. I would like to do this if you accept me to do. Here are some sample projects which i did. Kindly have a look and please accept my bid and give project to me. [login to view URL] More

$900 USD in 20 days
(0 Reviews)
0.0
cafespy

Hello i'm ready to start as soon as possible.

$775 USD in 30 days
(0 Reviews)
0.0