Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Jay J Kim
weather
Commits
b7465f48
Commit
b7465f48
authored
Sep 21, 2016
by
Zach Knox
Browse files
Merge 'issue16' into 'master'
parents
c9f6993a
d60532a1
Changes
17
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
b7465f48
weather/mup.json
weather/settings.json
weather/.meteor
weather/server/lib/secrets.js
.meteor/local
.meteor/meteorite
*.~
*.swp
# -- Vim .gitignores --
# swap
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags
weather/.meteor/.finished-upgraders
View file @
b7465f48
...
...
@@ -11,3 +11,5 @@ notices-for-facebook-graph-api-2
1.2.0-cordova-changes
1.2.0-breaking-changes
1.3.0-split-minifiers-package
1.4.0-remove-old-dev-bundle-link
1.4.1-add-shell-server-package
weather/.meteor/packages
View file @
b7465f48
...
...
@@ -4,21 +4,21 @@
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.
meteor-base # Packages every Meteor app needs to have
mobile-experience # Packages for a great mobile UX
mongo # The database Meteor supports right now
blaze-html-templates # Compile .html files into Meteor Blaze views
session # Client-side reactive dictionary for your app
jquery # Helpful client-side library
tracker # Meteor's client-side reactive programming library
meteor-base
@1.0.4
# Packages every Meteor app needs to have
mobile-experience
@1.0.4
# Packages for a great mobile UX
mongo
@1.1.12
# The database Meteor supports right now
blaze-html-templates
@1.0.4
# Compile .html files into Meteor Blaze views
session
@1.1.6
# Client-side reactive dictionary for your app
jquery
@1.11.9
# Helpful client-side library
tracker
@1.1.0
# Meteor's client-side reactive programming library
es5-shim # ECMAScript 5 compatibility for older browsers.
ecmascript # Enable ECMAScript2015+ syntax in app code
es5-shim
@4.6.14
# ECMAScript 5 compatibility for older browsers.
ecmascript
@0.5.8
# Enable ECMAScript2015+ syntax in app code
autopublish # Publish all data to the clients (for prototyping)
insecure # Allow all DB writes from clients (for prototyping)
zodiase:mdl
mquandalle:bower
http
standard-minifier-css
standard-minifier-js
http@1.2.9
standard-minifier-css@1.2.0
standard-minifier-js@1.2.0
shell-server
aldeed:simple-schema # Schema support for db
weather/.meteor/release
View file @
b7465f48
METEOR@1.
3.4.4
METEOR@1.
4.1.1
weather/.meteor/versions
View file @
b7465f48
aldeed:simple-schema@1.5.3
allow-deny@1.0.5
autopublish@1.0.7
autoupdate@1.2.11
babel-compiler@6.8.4
babel-runtime@0.1.9_1
autoupdate@1.3.11
babel-compiler@6.9.1
babel-runtime@0.1.11
base64@1.0.9
binary-heap@1.0.9
blaze@2.1.8
blaze-html-templates@1.0.4
blaze-tools@1.0.9
boilerplate-generator@1.0.9
caching-compiler@1.
0.6
caching-compiler@1.
1.7
caching-html-compiler@1.0.6
callback-hook@1.0.9
check@1.2.3
ddp@1.2.5
ddp-client@1.
2.9
ddp-client@1.
3.1
ddp-common@1.2.6
ddp-server@1.
2.9
ddp-server@1.
3.10
deps@1.0.12
diff-sequence@1.0.6
ecmascript@0.
4.7
ecmascript-runtime@0.
2
.1
2
ecmascript@0.
5.8
ecmascript-runtime@0.
3
.1
4
ejson@1.0.12
es5-shim@4.
5
.1
3
es5-shim@4.
6
.1
4
fastclick@1.0.12
fourseven:scss@3.
4.1
fourseven:scss@3.
9.0
geojson-utils@1.0.9
hot-code-push@1.0.4
html-tools@1.0.10
htmljs@1.0.10
http@1.
1.8
http@1.
2.9
id-map@1.0.8
insecure@1.0.7
jquery@1.11.9
launch-screen@1.0.12
livedata@1.0.18
logging@1.0.14
meteor@1.1.16
logging@1.1.15
mdg:validation-error@0.2.0
meteor@1.2.17
meteor-base@1.0.4
minifier-css@1.
1
.1
3
minifier-js@1.
1
.1
3
minifier-css@1.
2
.1
4
minifier-js@1.
2
.1
4
minimongo@1.0.17
mobile-experience@1.0.4
mobile-status-bar@1.0.12
modules@0.
6.5
modules-runtime@0.
6.5
mongo@1.1.
9_
1
modules@0.
7.6
modules-runtime@0.
7.6
mongo@1.1.1
2
mongo-id@1.0.5
mquandalle:bower@1.5.2_1
npm-mongo@1.
4
.4
5
npm-mongo@1.
5
.4
9
observe-sequence@1.0.12
ordered-dict@1.0.8
promise@0.
7.3
promise@0.
8.4
random@1.0.10
reactive-dict@1.1.8
reactive-var@1.0.10
...
...
@@ -59,19 +59,20 @@ reload@1.1.10
retry@1.0.8
routepolicy@1.0.11
session@1.1.6
shell-server@0.2.1
spacebars@1.0.12
spacebars-compiler@1.0.12
standard-minifier-css@1.
0.8
standard-minifier-js@1.
0.8
templating@1.
1
.1
3
standard-minifier-css@1.
2.0
standard-minifier-js@1.
2.0
templating@1.
2
.1
4
templating-tools@1.0.4
tracker@1.
0.14
tracker@1.
1.0
ui@1.0.11
underscore@1.0.9
url@1.0.10
webapp@1.
2
.1
0
webapp@1.
3
.1
1
webapp-hashing@1.0.9
zodiase:check@0.0.4
zodiase:material-design-icons-fonts@2.2.
1
zodiase:mdl@1.
1.2_2
zodiase:mdl-assets@1.
1.2
_1
zodiase:material-design-icons-fonts@2.2.
3
zodiase:mdl@1.
2.0
zodiase:mdl-assets@1.
2.0
_1
weather/
public
/favicon.ico
→
weather/
client/lib
/favicon.ico
View file @
b7465f48
File moved
weather/client/
weather
.css
→
weather/client/
main
.css
View file @
b7465f48
File moved
weather/client/
head
.html
→
weather/client/
main
.html
View file @
b7465f48
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"description"
content=
"SRCT Weather beautifully displays live weather and forecasts for Mason's campuses."
>
<title>
SRCT Weather
-
76
°
F
</title>
<title>
SRCT Weather
•
76
°
F
</title>
<link
rel=
"stylesheet"
href=
"weather.css"
>
<link
rel=
"icon"
type=
"image/x-icon"
href=
"lib/favicon.ico"
/>
</head>
weather/client/main.js
0 → 100644
View file @
b7465f48
// client entry point, imports all client code
import
{
Template
}
from
'
meteor/templating
'
;
import
'
../imports/ui/body.js
'
;
import
'
./main.html
'
;
weather/imports/api/data.js
deleted
100644 → 0
View file @
c9f6993a
"
use strict
"
;
import
{
Mongo
}
from
'
meteor/mongo
'
;
export
const
WeatherData
=
new
Mongo
.
Collection
(
'
weather-data
'
);
export
function
refreshData
()
{
for
(
var
key
in
LOCATIONS
)
{
const
current
=
LOCATIONS
[
key
];
var
currentData
Meteor
.
call
(
'
weatherDataForLoc
'
,
current
.
lat
,
current
.
long
,
function
(
err
,
res
){
currentData
=
res
});
WeatherData
.
insert
({
name
:
current
.
name
,
lat
:
current
.
lat
,
long
:
current
.
long
,
data
:
currentData
,
lastUpdated
:
new
Date
(),
});
}
}
weather/
lib
/locations.js
→
weather/
imports/api
/locations.js
View file @
b7465f48
// Static dict of GMU Campus locations
LOCATIONS
=
{
FAIRFAX
:
{
name
:
'
Fairfax
'
,
lat
:
'
38.830295
'
,
long
:
'
-77.307717
'
},
ARLINGTON
:
{
name
:
'
Arlington
'
,
lat
:
'
38.885025
'
,
long
:
'
-77.101114
'
},
SCITECH
:
{
name
:
'
SciTech
'
,
lat
:
'
38.756211
'
,
long
:
'
-77.521461
'
},
KOREA
:
{
name
:
'
Mason Korea
'
,
lat
:
'
37.367863
'
,
long
:
'
126.630984
'
}
//,
//RAK: {name: 'Mason Ras-Al-Khaimah', lat: '0', long: '0'} NEED LAT AND LONG
};
weather/imports/api/weather-data.js
0 → 100644
View file @
b7465f48
import
{
Mongo
}
from
'
meteor/mongo
'
;
export
const
WeatherData
=
new
Mongo
.
Collection
(
'
WeatherDatas
'
);
WeatherData
.
schema
=
new
SimpleSchema
({
name
:
{
type
:
String
,
label
:
"
The name of the GMU Campus
"
},
lat
:
{
type
:
Number
,
label
:
"
The latitude of the GMU Campus
"
},
long
:
{
type
:
Number
,
label
:
"
The logiute of the GMU Campus
"
},
data
:
{
type
:
Object
,
label
:
"
The most current weather entry for this location
"
},
lastUpdated
:
{
type
:
Date
,
label
:
"
The last time that this campus's current forecast was updated
"
}
})
Meteor
.
methods
({
'
weatherDataForLoc
'
:
function
(
lat
,
long
)
{
// API_KEY is an environmental veriable, you can set it with a JS file in
// server/lib or in your server control panel.
var
API_KEY
=
process
.
env
.
API_KEY
;
var
apiURL
=
'
https://api.forecast.io/forecast/
'
+
API_KEY
+
'
/
'
+
lat
+
'
,
'
+
long
;
var
response
=
HTTP
.
get
(
apiURL
).
data
;
return
response
;
}
});
export
function
refreshData
()
{
for
(
var
key
in
LOCATIONS
)
{
const
current
=
LOCATIONS
[
key
];
var
currentData
Meteor
.
call
(
'
weatherDataForLoc
'
,
current
.
lat
,
current
.
long
,
function
(
err
,
res
){
currentData
=
res
});
/**
WeatherData.insert ({
name: current.name,
lat: current.lat,
long: current.long,
data: currentData,
lastUpdated: new Date(),
});
*/
let
location
=
{
name
:
current
.
name
,
lat
:
current
.
lat
,
long
:
current
.
long
,
data
:
currentData
,
lastUpdated
:
new
Date
(),
}
WeatherData
.
schema
.
validate
(
location
);
WeatherData
.
insert
(
location
);
}
}
weather/
client/weather
.html
→
weather/
imports/ui/body
.html
View file @
b7465f48
File moved
weather/imports/ui/body.js
0 → 100644
View file @
b7465f48
import
'
./body.html
'
;
for
(
var
key
in
LOCATIONS
)
{
var
current
=
LOCATIONS
[
key
];
console
.
log
(
current
.
name
);
Meteor
.
call
(
'
weatherDataForLoc
'
,
current
.
lat
,
current
.
long
,
function
(
err
,
res
){
console
.
log
(
res
);
//Sends the result of the API call to the browser console, will change
});
}
weather/imports/ui/dataview.js
deleted
100644 → 0
View file @
c9f6993a
import
{
Template
}
from
'
meteor/templating
'
;
import
{
WeatherData
}
from
'
../api/data.js
'
;
import
'
../../client/weather.html
'
;
Template
.
body
.
helpers
({
current
()
{
return
WeatherData
.
find
({});
},
});
weather/server/main.js
View file @
b7465f48
import
{
WeatherData
}
from
'
../imports/api/data.js
'
;
// server entry point, imports all server code
import
{
Meteor
}
from
'
meteor/meteor
'
;
import
{
WeatherData
}
from
'
../imports/api/weather-data.js
'
;
weather/weather.js
deleted
100644 → 0
View file @
c9f6993a
//import 'imports/ui/dataview.js'; //seems to be the problem?
if
(
Meteor
.
isClient
)
{
for
(
var
key
in
LOCATIONS
)
{
var
current
=
LOCATIONS
[
key
];
console
.
log
(
current
.
name
);
Meteor
.
call
(
'
weatherDataForLoc
'
,
current
.
lat
,
current
.
long
,
function
(
err
,
res
){
console
.
log
(
res
);
//Sends the result of the API call to the browser console, will change
});
}
Template
.
weather
.
helpers
({
updateData
:
function
()
{
}
});
Template
.
weather
.
events
({
});
}
if
(
Meteor
.
isServer
)
{
Meteor
.
startup
(
function
()
{
// code to run on server at startup
});
Meteor
.
methods
({
'
weatherDataForLoc
'
:
function
(
lat
,
long
)
{
//API_KEY is an environmental veriable, you can set it with a JS file in
// server/lib or in your server control panel.
var
API_KEY
=
process
.
env
.
API_KEY
;
var
apiURL
=
'
https://api.darksky.net/forecast/
'
+
API_KEY
+
'
/
'
+
lat
+
'
,
'
+
long
;
var
response
=
HTTP
.
get
(
apiURL
).
data
;
return
response
;
}
});
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment