app.js 2.86 KB
'use strict';

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',
    content: 'string'
  }
};

let UserSchema = {
  name: 'User',
  properties: {
    id: 'string',
    pw: 'string',
    name: 'string'
  }
};
var blogRealm = new Realm({
  path: 'blog3.realm',
  schema: [PostSchema]
});
var userRealm = new Realm({
  path: 'user.realm',
  schema: [UserSchema]
});

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);
//  res.render('index.ejs',{title : "첫번째 화면"});
  res.sendFile(__dirname+"/intro.html");
});
app.get('/main', function(req, res) {
//  res.sendFile(__dirname + "/write.html");
res.sendFile(__dirname+"/pages/main.html");
});

app.set('view engine', 'ejs');
app.get('/login', function(req, res) {
//  res.sendFile(__dirname + "/write.html");
res.sendFile(__dirname+"/pages/login.html");
});
app.post('/login', function(req, res) {
  let chk = false;
    let id = req.body['id'],
      pw = req.body['pw'],
      users = userRealm.objects('User');
    for(var i = 0 ; i<users.length; i++)
    {
      if(id==users[i].id && pw ==users[i].pw)
      {
        let name = users[i].name;
        uname = users[i].name;
             res.render('main2.ejs', {name: name, posts: posts});

        chk = true;
      }
    }
    ///실패
    if(chk ==false)
    {
     console.log("계정을 확인해주세요");
   }
   else {
     ///res.sendFile(__dirname + "/pages/main2.html");

     // res.render('main2.ejs', {name: name});
   }
});

app.get('/register', function(req, res) {
//  res.sendFile(__dirname + "/write.html");
res.sendFile(__dirname+"/pages/register.html");
});
app.get('/logout', function(req, res) {
//  res.sendFile(__dirname + "/write.html");
res.sendFile(__dirname+"/intro.html");
});
app.get('/info', function(req, res) {
//  res.sendFile(__dirname + "/write.html");
res.sendFile(__dirname+"/pages/info.html");
});

app.post('/write', function(req, res) {
  let  content = req.body['content'],
    timestamp = new Date();
  //  posts = blogRealm.objects('Post').sorted('timestamp', true);
  blogRealm.write(() => {
    blogRealm.create('Post', {user: uname, content: content, timestamp: timestamp});
  });

       res.render('main2.ejs', {name: uname, posts: posts});
});
app.post('/register', function(req, res) {
  let id = req.body['id'],
    pw = req.body['pw'],
    name = req.body['name']
  userRealm.write(() => {
    userRealm.create('User', {id: id, pw: pw, name: name});
  });
  res.sendFile(__dirname + "/pages/main.html");
});
app.listen(3000, function() {
  console.log("Go!");
});