| @ -0,0 +1,7 @@ | |||||
| { | |||||
| "port": 7000, | |||||
| "sessionSecret": "superDuperSecret", | |||||
| "clientID": "github client id", | |||||
| "clientSecret": "clientSecret" | |||||
| } | |||||
| @ -0,0 +1,33 @@ | |||||
| const fileIO = require('./fileIO'); | |||||
| const CONFIG_FILE_NAME = "conf.json"; | |||||
| const config = fileIO.getFileAsJSON(CONFIG_FILE_NAME); | |||||
| module.exports= | |||||
| { | |||||
| getConfiguration: function() | |||||
| { | |||||
| return config; | |||||
| }, | |||||
| syncToDisk: function() | |||||
| { | |||||
| fileIO.writeJSONToFile(CONFIG_FILE_NAME, config); | |||||
| }, | |||||
| getPort: function() | |||||
| { | |||||
| return config.port; | |||||
| }, | |||||
| getClientID: function() | |||||
| { | |||||
| return config.clientID; | |||||
| }, | |||||
| getClientSecret: function() | |||||
| { | |||||
| return config.clientSecret; | |||||
| } | |||||
| }; | |||||
| @ -0,0 +1,32 @@ | |||||
| /** Used to read and write files from disk */ | |||||
| const fs = require('fs'); | |||||
| module.exports = | |||||
| { | |||||
| writeJSONToFile: function(fileName, jsonObject) | |||||
| { | |||||
| const json = JSON.stringify(jsonObject, null, 4); | |||||
| fs.writeFile(fileName, json, 'utf8', function() | |||||
| { | |||||
| console.log("Wrote to " + fileName); | |||||
| }); | |||||
| }, | |||||
| /** | |||||
| * | |||||
| * @param fileName | |||||
| * @returns {any} | |||||
| */ | |||||
| getFileAsJSON: function(fileName) | |||||
| { | |||||
| return JSON.parse(module.exports.getFile(fileName)); | |||||
| }, | |||||
| getFile: function(filename) | |||||
| { | |||||
| return fs.readFileSync(filename, 'utf8'); | |||||
| } | |||||
| }; | |||||
| @ -0,0 +1,25 @@ | |||||
| { | |||||
| "name": "github-graphs", | |||||
| "version": "0.0.1", | |||||
| "description": "Generates graphs of github things.", | |||||
| "main": "server.js", | |||||
| "scripts": { | |||||
| "test": "echo \"Error: no test specified\" && exit 1", | |||||
| "start": "node server.js" | |||||
| }, | |||||
| "repository": { | |||||
| "type": "git", | |||||
| "url": "git+https://github.com/jrtechs/github-graphs.git" | |||||
| }, | |||||
| "author": "Jeffery Russell", | |||||
| "license": "ISC", | |||||
| "bugs": { | |||||
| "url": "https://github.com/jrtechs/github-graphs/issues" | |||||
| }, | |||||
| "homepage": "https://github.com/jrtechs/github-graphs#readme", | |||||
| "dependencies": { | |||||
| "express": "^4.16.4", | |||||
| "express-session": "^1.15.6", | |||||
| "fs": "0.0.1-security" | |||||
| } | |||||
| } | |||||
| @ -0,0 +1,36 @@ | |||||
| /** express app for routing */ | |||||
| const express = require("express"); | |||||
| /**session data for login and storing preferences*/ | |||||
| const session = require('express-session'); | |||||
| const configLoader = require('./configManager.js'); | |||||
| const app = express(); | |||||
| /**Initializes sessions for login */ | |||||
| app.use(session( | |||||
| { secret: configLoader.getConfiguration().sessionSecret, | |||||
| cookie: { maxAge: 6000000 }} | |||||
| )); | |||||
| app.use(express.urlencoded()); //for easy retrieval of post and get data | |||||
| app.use(express.json()); | |||||
| app.use(express.static(__dirname,'css')); | |||||
| app.use(express.static(__dirname, 'js')); | |||||
| app.use(express.static(__dirname, 'img')); | |||||
| app.use(express.static('html')); | |||||
| app.use(express.static(__dirname, 'fonts')); | |||||
| const routes = require('./routes'); | |||||
| app.use('/', routes); | |||||
| app.listen(configLoader.getConfiguration().port, () => | |||||
| console.log(`App listening on port ${configLoader.getConfiguration().port}!`) | |||||
| ); | |||||