basic setup with web page setup and need db connection
This commit is contained in:
+73
@@ -0,0 +1,73 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless
|
||||
@@ -0,0 +1,25 @@
|
||||
var express = require("express");
|
||||
var app = express();
|
||||
var port = 3000;
|
||||
|
||||
app.use(express.static('assets'));
|
||||
console.log("Finished Building static files for web page!");
|
||||
|
||||
|
||||
var MongoClient = require('mongodb').MongoClient;
|
||||
var url = "mongodb://heroku_rg3dpg4f:3trhj8bvk2g9lp3ocvtbltgvp9@ds259711.mlab.com:59711/heroku_rg3dpg4f";
|
||||
var db;
|
||||
|
||||
MongoClient.connect(url, function (err, client) {
|
||||
if (err) return console.log(err);
|
||||
console.log('Connected!');
|
||||
db = client.db('heroku_rg3dpg4f')
|
||||
app.listen(port, () => {
|
||||
console.log("Server listening on port " + port);
|
||||
});
|
||||
db.close();
|
||||
});
|
||||
|
||||
app.use("/", (req, res) => {
|
||||
res.sendFile(__dirname + "/assets/upload.html");
|
||||
});
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* By: Arjun Patel
|
||||
* Date: 7/30/18
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* jQuery function call on DOM loading
|
||||
*/
|
||||
$(function() {
|
||||
|
||||
// Event Handlers
|
||||
$("#inputFile").change(function(e) {
|
||||
onChangeInput(e);
|
||||
$('#inputFile').css("background-color", "#0d7aa5");
|
||||
});
|
||||
|
||||
|
||||
// Helper Function to read/load specific file
|
||||
function onChangeInput(event) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = onReaderLoad;
|
||||
reader.readAsText(event.target.files[0]);
|
||||
}
|
||||
|
||||
// General function to parse JSON
|
||||
function onReaderLoad(event) {
|
||||
var obj = JSON.parse(event.target.result);
|
||||
console.log(obj.orders);
|
||||
obj.orders.map((order) => {
|
||||
console.log(order);
|
||||
$('#table').append("<div class='flexBasicRow'><p class='col'>" + order.customer_id + "</p><p class='col'>" + order.order_no + "</p><p class='col'>" + order.part_id + "</p><p class='col'>" + order.parent_part + "</p><p class='col'>" + order.price + "</p><p class='col'>" + order.qty + "</p></p><p class='col'>" + order.paid + "</p></div>").fadeIn();
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"orders" :
|
||||
[{
|
||||
"customer_id" : 1,
|
||||
"order_no" : 1,
|
||||
"part_id" : 1111,
|
||||
"parent_part" : 1111,
|
||||
"price" : 1000,
|
||||
"qty" : 2,
|
||||
"paid" : 2000
|
||||
},
|
||||
{
|
||||
"customer_id" : 1,
|
||||
"order_no" : 2,
|
||||
"part_id" : 2321,
|
||||
"parent_part" : 1111,
|
||||
"price" : 500,
|
||||
"qty" : 2,
|
||||
"paid" : 1000
|
||||
},
|
||||
{
|
||||
"customer_id" : 2,
|
||||
"order_no" : 3,
|
||||
"part_id" : 1232,
|
||||
"parent_part" : 2222,
|
||||
"price" : 200,
|
||||
"qty" : 1,
|
||||
"paid" : 200
|
||||
},
|
||||
{
|
||||
"customer_id" : 3,
|
||||
"order_no" : 4,
|
||||
"part_id" : 12321,
|
||||
"parent_part" : 3333,
|
||||
"price" : 100,
|
||||
"qty" : 1,
|
||||
"paid" : 100
|
||||
},
|
||||
{
|
||||
"customer_id" : 3,
|
||||
"order_no" : 5,
|
||||
"part_id" : 3331,
|
||||
"parent_part" : 1111,
|
||||
"price" : 500,
|
||||
"qty" : 1,
|
||||
"paid" : 500
|
||||
},
|
||||
{
|
||||
"customer_id" : 4,
|
||||
"order_no" : 6,
|
||||
"part_id" : 2343,
|
||||
"parent_part" : 1222,
|
||||
"price" : 150,
|
||||
"qty" : 1,
|
||||
"paid" : 150
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
html {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
}
|
||||
body {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #eff3f4;
|
||||
}
|
||||
.flexBasicRow {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
justify-content: center;
|
||||
align-self: stretch;
|
||||
min-width: 800px;
|
||||
}
|
||||
.flexBasicCol {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
align-self: stretch;
|
||||
}
|
||||
.flex-1 {
|
||||
flex: 1;
|
||||
}
|
||||
.pageHeader {
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
background-color: #0d7aa5;
|
||||
padding: 1em;
|
||||
color: white;
|
||||
margin: 0;
|
||||
align-self: stretch;
|
||||
text-align: center;
|
||||
}
|
||||
#inputFile {
|
||||
text-align: center;
|
||||
padding: 1em;
|
||||
margin: 1em;
|
||||
background:#d0d4db;
|
||||
border: none;
|
||||
position:relative;
|
||||
color:#fff;
|
||||
border-radius:2px;
|
||||
text-align:center;
|
||||
float:left;
|
||||
cursor:pointer;
|
||||
transition: 1s;
|
||||
-webkit-transition: 1s;
|
||||
}
|
||||
.card {
|
||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||
margin: 2em;
|
||||
}
|
||||
#table {
|
||||
display: none;
|
||||
}
|
||||
.headRow {
|
||||
background-color: #0d7aa5;
|
||||
color: white;
|
||||
align-self: stretch;
|
||||
}
|
||||
.col {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
border-right: 1px solid white;
|
||||
text-align: center;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Data Flow</title>
|
||||
|
||||
<!-- Package/dependencies -->
|
||||
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
|
||||
<link type="text/css" rel="stylesheet" href="styles.css">
|
||||
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="flexBasicCol">
|
||||
<div class="flexBasicCol card">
|
||||
<p class="pageHeader">Input a JSON file with order details</p>
|
||||
<input type="file" id="inputFile" value="Import" />
|
||||
</div>
|
||||
|
||||
<div class="flexBasicCol card" id="table">
|
||||
<div class="flexBasicRow headRow">
|
||||
<p class="col">customer_id</p>
|
||||
<p class="col">order_no</p>
|
||||
<p class="col">part_id</p>
|
||||
<p class="col">parent_part</p>
|
||||
<p class="col">price</p>
|
||||
<p class="col">qty</p>
|
||||
<p class="col">paid</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Importing JS files after for efficient render -->
|
||||
<script src="main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Generated
+2972
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "file-upload-server",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "app.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/talksik/file-upload-server.git"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"bugs": {
|
||||
"url": "https://github.com/talksik/file-upload-server/issues"
|
||||
},
|
||||
"homepage": "https://github.com/talksik/file-upload-server#readme",
|
||||
"dependencies": {
|
||||
"express": "^4.16.3",
|
||||
"mongodb": "^3.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^1.18.3"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user