최원석
Committed by GitHub

Merge pull request #7 from goesnow/goesnow

Goesnow
1 -node_modules 1 +**/node_modules/
2 .env 2 .env
3 -.vscode 3 +.vscode/**
4 +**/.idea/
5 +
4 crawler/chromedriver 6 crawler/chromedriver
5 crawler/chromedriver.exe 7 crawler/chromedriver.exe
6 -.idea
7 **/*.exe 8 **/*.exe
8 package-lock.json 9 package-lock.json
9 10
10 -app/build/*.map 11 +**/build/
11 -app/build/*.js
12 -build
13 public 12 public
14 13
15 key.py 14 key.py
......
1 -<?xml version="1.0" encoding="UTF-8"?>
2 -<module type="JAVA_MODULE" version="4">
3 - <component name="FacetManager">
4 - <facet type="Python" name="Python">
5 - <configuration sdkName="" />
6 - </facet>
7 - </component>
8 - <component name="NewModuleRootManager" inherit-compiler-output="true">
9 - <exclude-output />
10 - <content url="file://$MODULE_DIR$">
11 - <excludeFolder url="file://$MODULE_DIR$/venv" />
12 - <excludeFolder url="file://$MODULE_DIR$/venv3" />
13 - </content>
14 - <orderEntry type="jdk" jdkName="Python 3.7 (check-your-instagram)" jdkType="Python SDK" />
15 - <orderEntry type="sourceFolder" forTests="false" />
16 - </component>
17 -</module>
...\ No newline at end of file ...\ No newline at end of file
1 -<?xml version="1.0" encoding="UTF-8"?>
2 -<project version="4">
3 - <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
4 - <serverData>
5 - <paths name="ubuntu@52.197.199.6:22">
6 - <serverdata>
7 - <mappings>
8 - <mapping local="$PROJECT_DIR$" web="/" />
9 - </mappings>
10 - </serverdata>
11 - </paths>
12 - <paths name="ubuntu@54.199.111.206:22">
13 - <serverdata>
14 - <mappings>
15 - <mapping local="$PROJECT_DIR$" web="/" />
16 - </mappings>
17 - </serverdata>
18 - </paths>
19 - <paths name="ubuntu@54.248.71.175:22">
20 - <serverdata>
21 - <mappings>
22 - <mapping local="$PROJECT_DIR$" web="/" />
23 - </mappings>
24 - </serverdata>
25 - </paths>
26 - </serverData>
27 - </component>
28 -</project>
...\ No newline at end of file ...\ No newline at end of file
1 -<component name="InspectionProjectProfileManager">
2 - <profile version="1.0">
3 - <option name="myName" value="Project Default" />
4 - <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5 - <inspection_tool class="TsLint" enabled="true" level="WARNING" enabled_by_default="true" />
6 - </profile>
7 -</component>
...\ No newline at end of file ...\ No newline at end of file
1 -<?xml version="1.0" encoding="UTF-8"?>
2 -<project version="4">
3 - <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (check-your-instagram)" project-jdk-type="Python SDK" />
4 -</project>
...\ No newline at end of file ...\ No newline at end of file
1 -# check your instagram! 1 +# Check your instagram!
2 2
3 -``` 3 +Lookup ID, and Compare!
4 +
5 +## Execute server
6 +```shell
4 python -m pipenv shell 7 python -m pipenv shell
8 +python server.py
5 ``` 9 ```
10 +
11 +## Execute only frontend
12 +
13 +[link](https://github.com/1Seok2/check-your-instagram/tree/master/app)
......
...@@ -15,4 +15,9 @@ npm run build ...@@ -15,4 +15,9 @@ npm run build
15 npm run start 15 npm run start
16 ``` 16 ```
17 17
18 -`npm run start`만 진행할 시 수정사항이 적용되지 않음
...\ No newline at end of file ...\ No newline at end of file
18 +`npm run start`만 진행할 시 수정사항이 적용되지 않음
19 +
20 +### 최종 빌드 진행
21 +```shell
22 +npm run predeploy
23 +```
...\ No newline at end of file ...\ No newline at end of file
......
1 -export declare const Bye: () => void;
1 -"use strict";
2 -Object.defineProperty(exports, "__esModule", { value: true });
3 -exports.Bye = void 0;
4 -const Bye = () => console.log('Bye!');
5 -exports.Bye = Bye;
6 -//# sourceMappingURL=Bye.js.map
...\ No newline at end of file ...\ No newline at end of file
1 -{"version":3,"file":"Bye.js","sourceRoot":"","sources":["../../src/Bye.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAAhC,QAAA,GAAG,OAA6B"}
...\ No newline at end of file ...\ No newline at end of file
1 -import './assets/style/App.css';
1 -"use strict";
2 -Object.defineProperty(exports, "__esModule", { value: true });
3 -const Bye_1 = require("./Bye");
4 -require("./assets/style/App.css");
5 -const hi = 'hello!?zz';
6 -const hi1 = () => {
7 - console.log(hi);
8 - Bye_1.Bye();
9 -};
10 -hi1();
11 -//# sourceMappingURL=index.js.map
...\ No newline at end of file ...\ No newline at end of file
1 -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AAC1B,kCAAgC;AAEhC,MAAM,EAAE,GAAG,WAAW,CAAC;AAEvB,MAAM,GAAG,GAAG,GAAG,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,SAAG,EAAE,CAAC;AACR,CAAC,CAAC;AAEF,GAAG,EAAE,CAAC"}
...\ No newline at end of file ...\ No newline at end of file
1 -export declare const Bye: () => void;
1 -"use strict";
2 -Object.defineProperty(exports, "__esModule", { value: true });
3 -exports.Bye = void 0;
4 -const Bye = () => console.log('Bye!');
5 -exports.Bye = Bye;
6 -//# sourceMappingURL=Bye.js.map
...\ No newline at end of file ...\ No newline at end of file
1 -{"version":3,"file":"Bye.js","sourceRoot":"","sources":["../../../src/ts/Bye.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAAhC,QAAA,GAAG,OAA6B"}
...\ No newline at end of file ...\ No newline at end of file
1 -
2 -const gulp = require('gulp');
3 -const browserify = require('browserify');
4 -const watchify = require('watchify');
5 -const errorify = require('errorify');
6 -const del = require('del');
7 -const tsify = require('tsify');
8 -const source = require('vinyl-source-stream');
9 -const buffer = require('vinyl-buffer');
10 -const runSequence = require('run-sequence');
11 -const uglify = require('gulp-uglify');
12 -
13 -gulp.task('clean', () => {
14 - return del('./built/**/*')
15 -});
16 -
17 -gulp.task('prod', () => {
18 - browserify({
19 - basedir: '.',
20 - debug: true,
21 - entries: ['src'],
22 - cache: {},
23 - packageCache: {}
24 - })
25 - .plugin(tsify)
26 - .bundle()
27 - .pipe(source('bundle.js'))
28 - .pipe(buffer())
29 - .pipe(uglify())
30 - .pipe(gulp.dest('built'));
31 -});
32 -
33 -gulp.task('dev', () => {
34 - browserify({
35 - basedir: '.',
36 - debug: true,
37 - entries: ['src'],
38 - cache: {},
39 - packageCache: {}
40 - })
41 - .plugin(tsify)
42 - .plugin(watchify)
43 - .plugin(errorify)
44 - .bundle()
45 - .pipe(source('bundle.js'))
46 - .pipe(gulp.dest('built'));
47 -});
48 -
49 -gulp.task('default', (done) => {
50 - runSequence('clean', 'dev', () => {
51 - console.log('Watching...')
52 - gulp.watch(['src/**/*.ts'],
53 - ['dev']);
54 - });
55 -});
56 -
57 -gulp.task('package', (done) => {
58 - runSequence('clean', 'prod', () => {
59 - console.log('Watching...')
60 - gulp.watch(['src/**/*.ts'],
61 - ['prod']);
62 - });
63 -});
This diff could not be displayed because it is too large.
...@@ -19,13 +19,16 @@ ...@@ -19,13 +19,16 @@
19 "posttest": "npm.cmd run lint", 19 "posttest": "npm.cmd run lint",
20 "compile": "tsc -w", 20 "compile": "tsc -w",
21 "build": "webpack --watch", 21 "build": "webpack --watch",
22 - "start": "webpack serve --open" 22 + "start": "webpack serve --open",
23 + "predeploy" : "webpack"
23 }, 24 },
24 "devDependencies": { 25 "devDependencies": {
25 "@types/node": "^14.11.2", 26 "@types/node": "^14.11.2",
27 + "clean-webpack-plugin": "^3.0.0",
26 "css-loader": "^5.1.1", 28 "css-loader": "^5.1.1",
27 "file-loader": "^6.2.0", 29 "file-loader": "^6.2.0",
28 "gts": "^3.1.0", 30 "gts": "^3.1.0",
31 + "html-webpack-plugin": "^5.3.0",
29 "style-loader": "^2.0.0", 32 "style-loader": "^2.0.0",
30 "ts-loader": "^8.0.17", 33 "ts-loader": "^8.0.17",
31 "typescript": "^4.0.3", 34 "typescript": "^4.0.3",
......
This diff is collapsed. Click to expand it.
...@@ -6,6 +6,5 @@ ...@@ -6,6 +6,5 @@
6 </head> 6 </head>
7 <body> 7 <body>
8 <div id="App"></div> 8 <div id="App"></div>
9 - <script type="module" src="public/main.js" ></script>
10 </body> 9 </body>
11 </html> 10 </html>
...\ No newline at end of file ...\ No newline at end of file
......
1 -const path = require('path') 1 +const path = require('path');
2 +const { CleanWebpackPlugin } = require('clean-webpack-plugin');
3 +const HtmlWebpackPlugin = require('html-webpack-plugin')
2 4
3 module.exports = { 5 module.exports = {
4 mode : 'development', 6 mode : 'development',
...@@ -30,17 +32,23 @@ module.exports = { ...@@ -30,17 +32,23 @@ module.exports = {
30 extensions: [".tsx", ".ts", ".js"], 32 extensions: [".tsx", ".ts", ".js"],
31 }, 33 },
32 output : { 34 output : {
33 - publicPath: '/app', 35 + publicPath: '/app/public',
34 path: path.resolve('./public'), 36 path: path.resolve('./public'),
35 filename: '[name].js', 37 filename: '[name].js',
36 }, 38 },
37 devServer : { 39 devServer : {
38 port : 3000, 40 port : 3000,
39 hot: true, 41 hot: true,
40 - contentBase: __dirname, 42 + contentBase: __dirname + '/public/',
41 inline: true, 43 inline: true,
42 watchOptions: { 44 watchOptions: {
43 poll: true 45 poll: true
44 } 46 }
45 - } 47 + },
48 + plugins : [
49 + new CleanWebpackPlugin(),
50 + new HtmlWebpackPlugin({
51 + template : './src/index.html'
52 + })
53 + ]
46 } 54 }
...\ No newline at end of file ...\ No newline at end of file
......
No preview for this file type
1 import os 1 import os
2 from flask import Flask, render_template, request, jsonify, send_from_directory 2 from flask import Flask, render_template, request, jsonify, send_from_directory
3 -
4 from crawler.crawler_instagram import crawler_instagram 3 from crawler.crawler_instagram import crawler_instagram
5 4
6 app = Flask(__name__) 5 app = Flask(__name__)
7 6
8 -
9 @app.errorhandler(404) 7 @app.errorhandler(404)
10 def page_not_found(): 8 def page_not_found():
11 return render_template('404.html') 9 return render_template('404.html')
12 10
13 11
14 -@app.route("/") 12 +def update(insta_id):
15 -def home():
16 - # return render_template('index.html')
17 - return send_from_directory('./app','index.html')
18 -
19 -
20 -@app.route("/update", methods=["GET"])
21 -def update():
22 - insta_id = request.args.get('insta_id')
23 crawler_instagram(insta_id) 13 crawler_instagram(insta_id)
24 14
25 data = { 15 data = {
...@@ -27,9 +17,16 @@ def update(): ...@@ -27,9 +17,16 @@ def update():
27 } 17 }
28 return jsonify(data) 18 return jsonify(data)
29 19
30 -@app.route("/hello", methods=["GET"]) 20 +
31 -def hello(): 21 +@app.route("/", defaults={"path": ""})
32 - return "hello" 22 +@app.route("/<path:path>")
23 +def home(path):
24 + # return render_template('index.html')
25 + if path == 'update':
26 + insta_id = request.args.get('insta_id')
27 + update(insta_id)
28 + else :
29 + return send_from_directory('./app/public/', 'index.html')
33 30
34 31
35 if __name__ == "__main__": 32 if __name__ == "__main__":
......