손장민

Final ver

......@@ -3,14 +3,14 @@
var express = require('express'),
bodyParser = require('body-parser'),
Realm = require('realm');
var uname;
var app = express();
let PostSchema = {
name: 'Post',
properties: {
user: 'string',
timestamp: 'date',
title: 'string',
content: 'string'
}
};
......@@ -24,7 +24,7 @@ let UserSchema = {
}
};
var blogRealm = new Realm({
path: 'blog.realm',
path: 'blog3.realm',
schema: [PostSchema]
});
var userRealm = new Realm({
......@@ -34,6 +34,7 @@ var userRealm = new Realm({
app.use(bodyParser.urlencoded({extended: true}));
let posts = blogRealm.objects('Post').sorted('timestamp', true);
app.get('/', function(req, res) {
// res.sendFile(__dirname + "/index.html");
// let posts = blogRealm.objects('Post').sorted('timestamp', true);
......@@ -60,7 +61,8 @@ app.post('/login', function(req, res) {
if(id==users[i].id && pw ==users[i].pw)
{
let name = users[i].name;
res.render('main2.ejs', {name: name});
uname = users[i].name;
res.render('main2.ejs', {name: name, posts: posts});
chk = true;
}
......@@ -91,13 +93,14 @@ res.sendFile(__dirname+"/pages/info.html");
});
app.post('/write', function(req, res) {
let title = req.body['title'],
content = req.body['content'],
let content = req.body['content'],
timestamp = new Date();
// posts = blogRealm.objects('Post').sorted('timestamp', true);
blogRealm.write(() => {
blogRealm.create('Post', {title: title, content: content, timestamp: timestamp});
blogRealm.create('Post', {user: uname, content: content, timestamp: timestamp});
});
res.sendFile(__dirname + "/pages/main.html");
res.render('main2.ejs', {name: uname, posts: posts});
});
app.post('/register', function(req, res) {
let id = req.body['id'],
......@@ -106,7 +109,7 @@ app.post('/register', function(req, res) {
userRealm.write(() => {
userRealm.create('User', {id: id, pw: pw, name: name});
});
res.sendFile(__dirname + "/write-complete.html");
res.sendFile(__dirname + "/pages/main.html");
});
app.listen(3000, function() {
console.log("Go!");
......
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
<!DOCTYPE html>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<!-- 부가적인 테마 -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
<!-- 합쳐지고 최소화된 최신 자바스크립트 -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title>Coin Community</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="navbar-fixed-top.css" rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script src="../../assets/js/ie-emulation-modes-warning.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<style>
<body>
background-image: url("background.jpg");
background-color: #cccccc;
</style>
<style type = "text/css">
.jumbotron{
background-image: url('images/background.jpg');
background-size: cover;
text-shadow: black 0.1em 0.1em 0.1em;
color: whites;
}
</style>
<!-- Fixed navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Coin Community</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<!--<li class="active"><a href="#">View Chart <span class="sr-only">(current)</span></a></li>
<li><a href="#">Freeboard</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="/logout">Logout</a></li>
<li><a href="/info">About me</a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<div class="container">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Line Chart Example
<script src="https://mining-profit.com/js/mp-btc-chart.js"></script>
<script type="text/javascript">
MiningProfitBTCChart.setChartWidth(1070);
MiningProfitBTCChart.setChartHeight(500);
MiningProfitBTCChart.isDisplayControlRanges(true);
MiningProfitBTCChart.isDisplayControlInterval(false);
MiningProfitBTCChart.setInitialRange('20h');
MiningProfitBTCChart.setChartRanges(['6h', '10h', '20h', '2d', '1w', '2w', '1m']);
MiningProfitBTCChart.setChartExchanges([{mpvaluation: '#428bca'}, {bitstamp: '#B4CD3E'}, {coinbase: '#D54E88'}, {btce: '#F0522B'}]);
MiningProfitBTCChart.setInitialExchange('coinbase');
MiningProfitBTCChart.setMajorColor('rgb(35, 119, 58)');
MiningProfitBTCChart.draw();
</script>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="flot-chart">
<div class="flot-chart-content" id="flot-line-chart"></div>
</div>
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
</div>
<!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
<script scr="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
......@@ -53,7 +53,7 @@
<form role="form">
<fieldset>
이름 : 손장민<br> 나이 : 24<br> 학교 : KHU.univ<br> 과 : 컴퓨터 공학과<br> 이메일 : djkaiden@naver.com<br>
<a href="/" class="btn btn-lg btn-success btn-block">Close</a>
<a href="/main" class="btn btn-lg btn-success btn-block">Close</a>
</fieldset>
</form>
</div>
......
......@@ -53,13 +53,13 @@
<form action="/register" method="POST">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="E-mail" name="id" type="name" autofocus>
<input class="form-control" placeholder="ID" name="id" type="name" autofocus>
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="pw" type="password" value="">
</div>
<div class="form-group">
<input class="form-control" placeholder="Confirm Password" name="password2" type="password2" value="">
<input class="form-control" placeholder="Confirm Password" name="password" type="password" value="">
</div>
<div class="form-group">
<input class="form-control" placeholder="Name" name="name" type="name" value="">
......
No preview for this file type
......@@ -125,23 +125,32 @@
</div>
<!-- /.panel -->
</div>
<div class="container">
<form action="/write" method="POST">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="내용" name="content" type="name" autofocus>
</div>
<button type="submit" float:"right">Submit</button>
</fieldset>
</form>
</div>
<table class="table">
<thread>
<tr>
<th>제목</th>
<th>내용</th>
<th>작성자</th>
<th>내용</th>
<th>날짜</th>
</tr>
</thead>
<tbody>
<% for(var i=0; i<posts.length; i++) {%>
<tr>
<td>아인스</td>
<td>오르나요</td>
<td>마나요</td>
<td>1234</td>
<td><%= posts[i].user%></td>
<td><%= posts[i].content%></td>
<td><%= posts[i].timestamp%></td>
</tr>
<% } %>
</tbody>
</table>
......