Skip to content
This repository was archived by the owner on May 9, 2023. It is now read-only.

Commit 7595496

Browse files
committed
Changes to be committed:
new file: app.js new file: bin/www new file: package.json new file: public/stylesheets/style.css new file: routes/index.js new file: routes/users.js new file: views/error.ejs new file: views/index.ejs
1 parent ca7355f commit 7595496

File tree

10 files changed

+607
-0
lines changed

10 files changed

+607
-0
lines changed

app.js

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
var express = require('express');
2+
var path = require('path');
3+
var favicon = require('serve-favicon');
4+
var logger = require('morgan');
5+
var cookieParser = require('cookie-parser');
6+
var bodyParser = require('body-parser');
7+
8+
var routes = require('./routes/index');
9+
var users = require('./routes/users');
10+
11+
// DataBase
12+
var mysql = require("mysql");
13+
14+
var con = mysql.createConnection({
15+
host: "localhost",
16+
user: "root",
17+
password: "",
18+
database: "test"
19+
});
20+
21+
con.connect(function(err) {
22+
if (err) {
23+
console.log('connecting error');
24+
return;
25+
}
26+
console.log('connecting success');
27+
});
28+
29+
var app = express();
30+
31+
// view engine setup
32+
app.set('views', path.join(__dirname, 'views'));
33+
app.set('view engine', 'ejs');
34+
35+
// uncomment after placing your favicon in /public
36+
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
37+
app.use(logger('dev'));
38+
app.use(bodyParser.json());
39+
app.use(bodyParser.urlencoded({ extended: false }));
40+
app.use(cookieParser());
41+
app.use(express.static(path.join(__dirname, 'public')));
42+
43+
// db state
44+
app.use(function(req, res, next) {
45+
req.con = con;
46+
next();
47+
});
48+
49+
app.use('/', routes);
50+
app.use('/users', users);
51+
52+
53+
// catch 404 and forward to error handler
54+
app.use(function(req, res, next) {
55+
var err = new Error('Not Found');
56+
err.status = 404;
57+
next(err);
58+
});
59+
60+
// error handlers
61+
62+
// development error handler
63+
// will print stacktrace
64+
if (app.get('env') === 'development') {
65+
app.use(function(err, req, res, next) {
66+
res.status(err.status || 500);
67+
res.render('error', {
68+
message: err.message,
69+
error: err
70+
});
71+
});
72+
}
73+
74+
// production error handler
75+
// no stacktraces leaked to user
76+
app.use(function(err, req, res, next) {
77+
res.status(err.status || 500);
78+
res.render('error', {
79+
message: err.message,
80+
error: {}
81+
});
82+
});
83+
84+
85+
module.exports = app;

bin/www

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#!/usr/bin/env node
2+
3+
/**
4+
* Module dependencies.
5+
*/
6+
7+
var app = require('../app');
8+
var debug = require('debug')('mysqldemo:server');
9+
var http = require('http');
10+
11+
/**
12+
* Get port from environment and store in Express.
13+
*/
14+
15+
var port = normalizePort(process.env.PORT || '3000');
16+
app.set('port', port);
17+
18+
/**
19+
* Create HTTP server.
20+
*/
21+
22+
var server = http.createServer(app);
23+
24+
/**
25+
* Listen on provided port, on all network interfaces.
26+
*/
27+
28+
server.listen(port);
29+
server.on('error', onError);
30+
server.on('listening', onListening);
31+
32+
/**
33+
* Normalize a port into a number, string, or false.
34+
*/
35+
36+
function normalizePort(val) {
37+
var port = parseInt(val, 10);
38+
39+
if (isNaN(port)) {
40+
// named pipe
41+
return val;
42+
}
43+
44+
if (port >= 0) {
45+
// port number
46+
return port;
47+
}
48+
49+
return false;
50+
}
51+
52+
/**
53+
* Event listener for HTTP server "error" event.
54+
*/
55+
56+
function onError(error) {
57+
if (error.syscall !== 'listen') {
58+
throw error;
59+
}
60+
61+
var bind = typeof port === 'string'
62+
? 'Pipe ' + port
63+
: 'Port ' + port;
64+
65+
// handle specific listen errors with friendly messages
66+
switch (error.code) {
67+
case 'EACCES':
68+
console.error(bind + ' requires elevated privileges');
69+
process.exit(1);
70+
break;
71+
case 'EADDRINUSE':
72+
console.error(bind + ' is already in use');
73+
process.exit(1);
74+
break;
75+
default:
76+
throw error;
77+
}
78+
}
79+
80+
/**
81+
* Event listener for HTTP server "listening" event.
82+
*/
83+
84+
function onListening() {
85+
var addr = server.address();
86+
var bind = typeof addr === 'string'
87+
? 'pipe ' + addr
88+
: 'port ' + addr.port;
89+
debug('Listening on ' + bind);
90+
}

package.json

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"name": "mysqldemo",
3+
"version": "0.0.0",
4+
"private": true,
5+
"scripts": {
6+
"start": "node ./bin/www"
7+
},
8+
"dependencies": {
9+
"body-parser": "~1.15.1",
10+
"cookie-parser": "~1.4.3",
11+
"debug": "~2.2.0",
12+
"ejs": "~2.4.1",
13+
"express": "~4.13.4",
14+
"morgan": "~1.7.0",
15+
"serve-favicon": "~2.3.0"
16+
}
17+
}

public/stylesheets/style.css

+97
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
body {
2+
padding: 50px;
3+
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
4+
}
5+
6+
7+
/* index */
8+
9+
.control,
10+
.search {
11+
margin: 10px;
12+
}
13+
14+
.search input[type='text'] {
15+
height: 25px;
16+
padding: 0 5px;
17+
}
18+
19+
a {
20+
padding: 5px 20px;
21+
border: none;
22+
background: #7DCD85;
23+
color: #FFFFFF;
24+
font-size: 14px;
25+
text-decoration: none;
26+
}
27+
28+
a:hover {
29+
background: #6BB072;
30+
}
31+
32+
.table {
33+
border-collapse: collapse;
34+
font-size: 16px;
35+
text-align: center;
36+
}
37+
38+
.table tr {
39+
height: 35px;
40+
border-bottom: 1px solid #dddddd;
41+
}
42+
43+
.table tr th {
44+
padding: 0 10px;
45+
font-weight: bold;
46+
}
47+
48+
.table tr td {
49+
padding: 0 10px;
50+
}
51+
52+
53+
/* useradd */
54+
55+
.row {
56+
width: 280px;
57+
height: 30px;
58+
margin: 5px;
59+
}
60+
61+
.row label {
62+
display: inline;
63+
width: 80px;
64+
font-size: 16px;
65+
}
66+
67+
.row input[type='text'],
68+
.row input[type='password'] {
69+
float: right;
70+
height: 20px;
71+
padding: 0 5px;
72+
}
73+
74+
.btn {
75+
width: 80px;
76+
height: 30px;
77+
border: none;
78+
color: #FFFFFF;
79+
background: #7DCD85;
80+
cursor: pointer;
81+
outline: none;
82+
-webkit-transition: background .25s;
83+
-moz-transition: background .25s;
84+
-ms-transition: background .25s;
85+
-o-transition: background .25s;
86+
transition: background .25s;
87+
}
88+
89+
.btn:hover {
90+
background: #6BB072;
91+
}
92+
93+
.msgerr {
94+
margin: 5px;
95+
color: #f00;
96+
font-size: 12px;
97+
}

0 commit comments

Comments
 (0)