# node libraries express = (require 'express') helmet = (require 'helmet') http = (require 'http') path = (require 'path') socketio = (require 'socket.io') # my libraries fftcgdb = (require './inc/fftcgdb') fftcgdb.open path.resolve(__dirname, 'fftcg.db') # express + socket.io framework app = express() web = http.Server app io = socketio web app.use helmet() # Static content app.use express.static path.resolve(__dirname, 'public_html') # Templates app.set 'view engine', 'pug' app.get '/:template.html', (req, res) -> res.render (req.params.template + '.pug') # Server logic io.on 'connection', (socket) -> console.log 'a user connected' socket.on 'disconnect', -> console.log 'a user disconnected' return socket.on 'login', (msg) -> console.log 'message:', msg.uname, msg.password fftcgdb.adduser msg.uname, msg.password # Create server web.listen 3000, -> console.log '[FFTCG] Listening on port 3000 ...' # Handle termination process.on 'SIGINT', -> console.log '[FFTCG] shutting down after SIGINT' process.exit()