Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions dev/js/main.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
socket = io.connect('http://localhost:3000', 'force new connection': true)

$ ->
CHART_MAX = 30
get = 0
post = 0
del = 0
put = 0
color_palette = ['#1abc9c', '#3498db', '#e74c3c', '#f39c12']
request_columns = [['GET', get], ['POST', post], ['DELETE', del], ['PUT', put]]
sensor_counts = [ 'station: 2', 1 ]
sensor_counts1 = [ 'station: 5', 5 ]
sensor_columns = [sensor_counts, sensor_counts1]

# generateCharts = ->
chart = c3.generate
data:
columns: sensor_columns
type: 'area-spline'
color: pattern: color_palette

chart1 = c3.generate
bindto: '#chart1'
data:
columns: request_columns
type: 'donut'
donut: title: 'HTTP Actions'
color: pattern: color_palette

# generateCharts

socket.on 'getRequest', (data) ->
get = get + 1
console.log 'get request'
console.log data
updateChart(chart1, request_columns)

socket.on 'postRequest', (data) ->
post = post + 1
console.log 'post request'
console.log data
updateChart(chart1, request_columns)

if data._id == '2'
sensor_counts.push data._count
if sensor_counts.length == CHART_MAX
sensor_counts.splice 1, 1
else
sensor_counts1.push data._count
if sensor_counts1.length == CHART_MAX
sensor_counts1.splice 1, 1
updateChart(chart, sensor_columns)

socket.on 'station_created', (data) ->
# console.log 'new station created and registered'
# console.log data

socket.emit 'startup', { client: 'pong' }

updateChart = (chart, data) ->
chart.load
columns: data

# console.error $.extend({arr: [1,2,3,4]},{types: 'this'})
78 changes: 78 additions & 0 deletions dev/js/main.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions dev/scss/main.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
body { background-color: white; }
h1 {
&:hover {
background-color: dodgerblue;
}
}
.color {
color: blue;
}
19 changes: 19 additions & 0 deletions dev/templates/index.jade
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
doctype html
html(lang='en')
head
meta(charset='UTF-8')
title Simple Socket IO
link(rel='stylesheet', href='https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.css')
link(rel='stylesheet', href='prod/css/main.css')
script(src='https://cdn.socket.io/socket.io-1.3.5.js')
script(src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js')
script(src='https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js')
script(src='https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.js')
script(src='prod/js/main.js')

body(style='background:#fff;')
pre(style='background:#eee;font-size:18px;padding:20px;').
#chart(width='600', height='400')
br
br
#chart1(width='600', height='400')
94 changes: 94 additions & 0 deletions gulpfile.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
'use strict'
gulp = require('gulp')
jade = require('gulp-jade')
minifyHTML = require('gulp-minify-html')
sass = require('gulp-sass')
coffee = require('gulp-coffee')
minifycss = require('gulp-minify-css')
autoprefixer = require('gulp-autoprefixer')
jshint = require('gulp-jshint')
uglify = require('gulp-uglify')
stylish = require('jshint-stylish')
rename = require('gulp-rename')
concat = require('gulp-concat')
notify = require('gulp-notify')
gutil = require('gulp-util');
plumber = require('gulp-plumber')
browserSync = require('browser-sync')

reload = browserSync.reload

# gulp.task 'coffee', ->
# gulp.src('./src/*.coffee').pipe(coffee(bare: true).on('error', gutil.log)).pipe gulp.dest('./public/')


target =
template_src: 'dev/templates/*.jade'
sass_src: 'dev/scss/**/*.scss'
cs_src: 'dev/js/*.coffee'
js_lint_src: [ 'js/**/*.js' ]
js_uglify_src: [ '' ]
js_concat_src: [ 'js/**/*.js' ]
css_dest: 'prod/css'
js_dest: 'prod/js'

gulp.task 'compile-coffee', ->
gulp.src(target.cs_src)
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(gulp.dest('./prod/js'))

gulp.task 'minify-html', ->
opts =
comments: false
spare: true
gulp.src('./prod/*.html').pipe(minifyHTML(opts)).pipe gulp.dest('html')

gulp.task 'sass', ->
gulp.src(target.sass_src).pipe(plumber()).pipe(sass()).pipe(autoprefixer('last 2 version', '> 1%', 'ie 8', 'ie 9', 'ios 6', 'android 4')).pipe(minifycss()).pipe(concat('main.css')).pipe(gulp.dest(target.css_dest)).pipe reload(stream: true)
# .pipe(notify({message: 'SCSS processed!'})); // notify when done

# lint my custom js
gulp.task 'js-lint', ->
gulp.src(target.js_lint_src).pipe(jshint()).pipe jshint.reporter(stylish)
# present the results in a beautiful way

# minify all js files that should not be concatinated
gulp.task 'js-uglify', ->
gulp.src(target.js_uglify_src).pipe(uglify()).pipe(rename((dir, base, ext) ->
# give the files a min suffix
trunc = base.split('.')[0]
trunc + '.min' + ext
)).pipe gulp.dest(target.js_dest)
# where to put the files
# .pipe(notify({ message: 'JS uglified'})); // notify when done

# minify & concatinate all other js
gulp.task 'js-concat', ->
gulp.src(target.js_concat_src).pipe(uglify()).pipe(concat('main.min.js')).pipe gulp.dest(target.js_dest)
# where to put the files
# .pipe(notify({message: 'JS concatinated'})); // notify when done

# Static server
gulp.task 'browser-sync', ->
browserSync
proxy: 'http://localhost:3000'


gulp.task 'templates', ->
gulp.src('dev/templates/*.jade').pipe(plumber()).pipe(jade(pretty: true)).pipe(gulp.dest('./prod/')).pipe reload(stream: true)

# Default task to be run with `gulp`
gulp.task 'default', [
'templates'
'browser-sync'
'sass'
], ->
gulp.watch target.template_src, [
'templates'
'minify-html'
]
gulp.watch target.sass_src, [ 'sass' ]
gulp.watch target.cs_src, ['compile-coffee']
gulp.watch target.js_lint_src, [ 'js-lint' ]
gulp.watch target.js_minify_src, [ 'js-uglify' ]
gulp.watch target.js_concat_src, [ 'js-concat' ]
111 changes: 111 additions & 0 deletions gulpfile.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions html/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=UTF-8><title>Simple Socket IO</title><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.css><link rel=stylesheet href=prod/css/main.css><script src=https://cdn.socket.io/socket.io-1.3.5.js></script><script src=https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js></script><script src=https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js></script><script src=https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.js></script><script src=prod/js/main.js></script></head><body style=background:#fff;><pre style=background:#eee;font-size:18px;padding:20px;></pre><div id=chart width=600 height=400></div><br><br><div id=chart1 width=600 height=400></div><h1>some new things</h1></body></html>
Loading