Compare commits
3 Commits
master
...
feature/in
| Author | SHA1 | Date | |
|---|---|---|---|
| 6d8f19c68c | |||
| 29f93bb0ad | |||
| 391be9b833 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
**/node_modules
|
**/node_modules
|
||||||
docker/mongodb/data
|
docker/mongodb/data
|
||||||
|
**/public/bundle.js
|
||||||
10
backend/public/index.html
Normal file
10
backend/public/index.html
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Vanilla JS frontend app.</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content"></div>
|
||||||
|
<script type="application/javascript" src="./bundle.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -3,13 +3,14 @@ const bodyParser = require('body-parser');
|
|||||||
const applicationController = require('./controller/applicationCtrl');
|
const applicationController = require('./controller/applicationCtrl');
|
||||||
const userController = require('./controller/userCtrl');
|
const userController = require('./controller/userCtrl');
|
||||||
|
|
||||||
const port = 3000;
|
const port = 8080;
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
app.use(bodyParser.urlencoded({ extended: true }));
|
app.use(bodyParser.urlencoded({ extended: true }));
|
||||||
app.use(bodyParser.json());
|
app.use(bodyParser.json());
|
||||||
|
app.use(express.static('backend/public'));
|
||||||
|
|
||||||
app.use('/apps', applicationController);
|
app.use('/api/apps', applicationController);
|
||||||
app.use('/users', userController);
|
app.use('/api/users', userController);
|
||||||
|
|
||||||
app.listen(port, () => console.log('Mock is listening at port ', port, '\n'));
|
app.listen(port, () => console.log('Mock is listening at port ', port, '\n'));
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const yaml = require('yaml');
|
const yaml = require('yaml');
|
||||||
|
|
||||||
const configurationFile = fs.readFileSync('src/resources/application.yml', 'utf8');
|
const configurationFile = fs.readFileSync('backend/src/resources/application.yml', 'utf8');
|
||||||
const configuration = yaml.parse(configurationFile);
|
const configuration = yaml.parse(configurationFile);
|
||||||
module.exports = configuration;
|
module.exports = configuration;
|
||||||
@@ -2,6 +2,11 @@ const router = require('express').Router();
|
|||||||
const tokenService = require('../service/tokenService');
|
const tokenService = require('../service/tokenService');
|
||||||
const userService = require('../service/userService');
|
const userService = require('../service/userService');
|
||||||
|
|
||||||
|
|
||||||
|
const passwordService = require('../service/passwordService');
|
||||||
|
const Repository = require('../repository/repository');
|
||||||
|
const userRepository = new Repository('users');
|
||||||
|
|
||||||
router.post('/login', (request, response) => {
|
router.post('/login', (request, response) => {
|
||||||
const loginRequest = request.body;
|
const loginRequest = request.body;
|
||||||
|
|
||||||
@@ -17,4 +22,20 @@ router.post('/login', (request, response) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.post('/init', (request, response) => {
|
||||||
|
userRepository.insert({_id: 'takiguchi', login:'takiguchi', password:passwordService.hashPassword('azer')}, () => {
|
||||||
|
console.log('ok');
|
||||||
|
response.status(200).send();
|
||||||
|
}, () => {
|
||||||
|
console.error('KO');
|
||||||
|
response.status(400).send();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
router.get('/test', (request, response) => {
|
||||||
|
response.json({
|
||||||
|
content: 'Hello world from users controller!'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
version: "3.6"
|
version: "3.0"
|
||||||
services:
|
services:
|
||||||
mongo:
|
mongo:
|
||||||
container_name: "mongo"
|
container_name: "mongo"
|
||||||
|
|||||||
7
frontend/src/index.js
Normal file
7
frontend/src/index.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
console.log('Hello world! ++++++');
|
||||||
|
|
||||||
|
document.getElementById('content').innerHTML = `
|
||||||
|
<div>
|
||||||
|
<h1>Hello world!</h1>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
24
frontend/webpack.config.js
Normal file
24
frontend/webpack.config.js
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
const webpack = require("webpack");
|
||||||
|
const path = require("path");
|
||||||
|
const UglifyJSPlugin = require("uglifyjs-webpack-plugin");
|
||||||
|
|
||||||
|
let config = {
|
||||||
|
entry: "./frontend/src/index.js",
|
||||||
|
output: {
|
||||||
|
path: path.resolve(__dirname, "../backend/public"),
|
||||||
|
filename: "bundle.js"
|
||||||
|
},
|
||||||
|
devServer: {
|
||||||
|
contentBase: path.resolve(__dirname, "../backend/public"),
|
||||||
|
historyApiFallback: true,
|
||||||
|
inline: true,
|
||||||
|
open: true,
|
||||||
|
hot: true
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
new UglifyJSPlugin(),
|
||||||
|
new webpack.SourceMapDevToolPlugin({})
|
||||||
|
],
|
||||||
|
devtool: "eval-source-map"
|
||||||
|
}
|
||||||
|
module.exports = config;
|
||||||
4849
package-lock.json
generated
4849
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
12
package.json
12
package.json
@@ -4,8 +4,9 @@
|
|||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "nodemon ./src/js/app.js localhost 3000",
|
"start": "npm-run-all --parallel start-frontend start-backend",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"start-backend": "nodemon ./backend/src/js/app.js localhost 3000",
|
||||||
|
"start-frontend": "webpack --watch --config frontend/webpack.config.js"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
@@ -20,6 +21,11 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^7.4.0",
|
"eslint": "^7.4.0",
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-node": "^11.1.0",
|
||||||
"nodemon": "^2.0.4"
|
"nodemon": "^2.0.4",
|
||||||
|
"uglifyjs-webpack-plugin": "^2.2.0",
|
||||||
|
"webpack": "^4.41.2",
|
||||||
|
"webpack-cli": "^3.3.10",
|
||||||
|
"webpack-dev-server": "^3.9.0",
|
||||||
|
"npm-run-all": "^4.1.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user