Skip to content

Commit 40e02b4

Browse files
committed
init
0 parents  commit 40e02b4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1606
-0
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.DS_Store
2+
node_modules/
3+
/dist/
4+
env/
5+
__pycache__
6+
kubernetes

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Flask Bookshelf
2+
3+
Flask + Vue + Postgres + Docker + Kubernetes
4+
5+
## Docker
6+
7+
```sh
8+
$ docker-compose up -d --build
9+
```
10+
11+
[http://localhost:8080/](http://localhost:8080/)
12+
13+
## Kubernetes
14+
15+
WIP

docker-compose.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: '3.5'
2+
3+
services:
4+
5+
server:
6+
build:
7+
context: ./services/server
8+
dockerfile: Dockerfile
9+
ports:
10+
- 5001:5000
11+
environment:
12+
- FLASK_ENV=development
13+
- APP_SETTINGS=project.config.DevelopmentConfig
14+
- DATABASE_URL=postgres://postgres:postgres@postgres:5432/books
15+
depends_on:
16+
- postgres
17+
18+
postgres:
19+
build:
20+
context: ./services/db
21+
dockerfile: Dockerfile
22+
expose:
23+
- 5432
24+
environment:
25+
- POSTGRES_USER=postgres
26+
- POSTGRES_PASSWORD=postgres
27+
28+
client:
29+
build:
30+
context: ./services/client
31+
dockerfile: Dockerfile
32+
ports:
33+
- 8080:8080
34+
depends_on:
35+
- server

services/client/.babelrc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"presets": [
3+
["env", {
4+
"modules": false,
5+
"targets": {
6+
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
7+
}
8+
}],
9+
"stage-2"
10+
],
11+
"plugins": ["transform-vue-jsx", "transform-runtime"]
12+
}

services/client/.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_style = space
6+
indent_size = 2
7+
end_of_line = lf
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true

services/client/.eslintignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/build/
2+
/config/
3+
/dist/
4+
/*.js

services/client/.eslintrc.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// https://eslint.org/docs/user-guide/configuring
2+
3+
module.exports = {
4+
root: true,
5+
parserOptions: {
6+
parser: 'babel-eslint'
7+
},
8+
env: {
9+
browser: true,
10+
},
11+
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
12+
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
13+
extends: ['plugin:vue/essential', 'airbnb-base'],
14+
// required to lint *.vue files
15+
plugins: [
16+
'vue'
17+
],
18+
// check if imports actually resolve
19+
settings: {
20+
'import/resolver': {
21+
webpack: {
22+
config: 'build/webpack.base.conf.js'
23+
}
24+
}
25+
},
26+
// add your custom rules here
27+
rules: {
28+
// don't require .vue extension when importing
29+
'import/extensions': ['error', 'always', {
30+
js: 'never',
31+
vue: 'never'
32+
}],
33+
// disallow reassignment of function parameters
34+
// disallow parameter object manipulation except for specific exclusions
35+
'no-param-reassign': ['error', {
36+
props: true,
37+
ignorePropertyModificationsFor: [
38+
'state', // for vuex state
39+
'acc', // for reduce accumulators
40+
'e' // for e.returnvalue
41+
]
42+
}],
43+
// allow optionalDependencies
44+
'import/no-extraneous-dependencies': ['error', {
45+
optionalDependencies: ['test/unit/index.js']
46+
}],
47+
// allow debugger during development
48+
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
49+
}
50+
}

services/client/.postcssrc.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// https://github.com/michael-ciniawsky/postcss-load-config
2+
3+
module.exports = {
4+
"plugins": {
5+
"postcss-import": {},
6+
"postcss-url": {},
7+
// to edit target browsers: use "browserslist" field in package.json
8+
"autoprefixer": {}
9+
}
10+
}

services/client/Dockerfile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
FROM node:9.11.1-alpine
2+
3+
RUN npm install -g http-server
4+
5+
WORKDIR /app
6+
7+
COPY package*.json ./
8+
9+
RUN npm install
10+
11+
COPY . .
12+
13+
RUN ROOT_API=http://localhost:5001 npm run build
14+
15+
EXPOSE 8080
16+
17+
CMD [ "http-server", "dist" ]

services/client/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# client
2+
3+
> A Vue.js project
4+
5+
## Build Setup
6+
7+
``` bash
8+
# install dependencies
9+
npm install
10+
11+
# serve with hot reload at localhost:8080
12+
npm run dev
13+
14+
# build for production with minification
15+
npm run build
16+
17+
# build for production and view the bundle analyzer report
18+
npm run build --report
19+
```
20+
21+
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).

0 commit comments

Comments
 (0)