Skip to content

Commit 4eefa6f

Browse files
committed
updates
1 parent e7d25a9 commit 4eefa6f

File tree

110 files changed

+9747
-39057
lines changed

Some content is hidden

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

110 files changed

+9747
-39057
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
__pycache__
22
env
3-
htmlcov
43
.coverage
4+
htmlcov
5+
coverage
56
node_modules

buildspec.yml

Lines changed: 16 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@ version: 0.2
33
env:
44
variables:
55
AWS_REGION: "us-west-1"
6-
REACT_APP_API_SERVICE_URL: "http://flask-react-alb-166710978.us-west-1.elb.amazonaws.com"
6+
VITE_API_SERVICE_URL: "http://<LOAD_BALANCER_DNS_NAME>"
77

88
phases:
99
pre_build:
1010
commands:
1111
- echo logging in to ecr...
12-
- >
13-
aws ecr get-login-password --region $AWS_REGION \
14-
| docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com
12+
- aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com
1513
- |
16-
if expr "$CODEBUILD_WEBHOOK_TRIGGER" == "branch/master" >/dev/null && expr "$CODEBUILD_WEBHOOK_HEAD_REF" == "refs/heads/master" >/dev/null; then
14+
if expr "$CODEBUILD_WEBHOOK_TRIGGER" == "branch/master" >/dev/null && expr "$CODEBUILD_WEBHOOK_HEAD_REF" == "refs/heads/master" >/dev/null; then
1715
DOCKER_TAG=prod
1816
else
1917
DOCKER_TAG=${CODEBUILD_RESOLVED_SOURCE_VERSION}
2018
fi
21-
- echo "Docker tag:" $DOCKER_TAG
19+
- echo "Docker tag $DOCKER_TAG"
20+
- echo "Current branch trigger $CODEBUILD_WEBHOOK_TRIGGER"
21+
- echo "Current HEAD ref $CODEBUILD_WEBHOOK_HEAD_REF"
2222
- docker pull $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:$DOCKER_TAG || true
2323
- docker pull $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder || true
2424
- docker pull $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:$DOCKER_TAG || true
@@ -34,32 +34,15 @@ phases:
3434
- docker-compose exec -T client npm run prettier:check
3535
- docker-compose exec -T client npm run prettier:write
3636
- echo building prod images...
37-
- >
38-
docker build \
39-
--cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:$DOCKER_TAG \
40-
-f services/users/Dockerfile.prod \
41-
-t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:$DOCKER_TAG \
42-
./services/users
43-
- >
44-
docker build \
45-
--target builder \
46-
--cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder \
47-
-f services/client/Dockerfile.prod \
48-
-t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder \
49-
--build-arg NODE_ENV=production \
50-
--build-arg REACT_APP_API_SERVICE_URL=$REACT_APP_API_SERVICE_URL \
51-
./services/client
52-
- >
53-
docker build \
54-
--cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:$DOCKER_TAG \
55-
-f services/client/Dockerfile.prod \
56-
-t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:$DOCKER_TAG \
57-
./services/client
37+
- docker build --cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:$DOCKER_TAG -f services/users/Dockerfile.prod -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:$DOCKER_TAG ./services/users
38+
- docker build --target builder --cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder -f services/client/Dockerfile.prod -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder --build-arg NODE_ENV=production --build-arg VITE_API_SERVICE_URL=$VITE_API_SERVICE_URL ./services/client
39+
- docker build --cache-from $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:$DOCKER_TAG -f services/client/Dockerfile.prod -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:$DOCKER_TAG ./services/client
5840
post_build:
5941
commands:
60-
- echo pushing prod images to ecr...
61-
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:$DOCKER_TAG
62-
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder
63-
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:$DOCKER_TAG
64-
- chmod +x ./deploy.sh
65-
- bash deploy.sh
42+
- echo "Using docker tag $DOCKER_TAG"
43+
- echo pushing prod images to ecr...
44+
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-users:$DOCKER_TAG
45+
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:builder
46+
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/test-driven-client:$DOCKER_TAG
47+
- chmod +x ./deploy.sh
48+
- bash deploy.sh

docker-compose.prod.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
version: '3.8'
2-
31
services:
42

53
api:
@@ -33,7 +31,7 @@ services:
3331
dockerfile: Dockerfile.prod
3432
args:
3533
- NODE_ENV=production
36-
- REACT_APP_API_SERVICE_URL=${REACT_APP_API_SERVICE_URL}
34+
- VITE_API_SERVICE_URL=${VITE_API_SERVICE_URL}
3735
ports:
3836
- 3007:80
3937
depends_on:

docker-compose.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
version: '3.8'
2-
31
services:
42

53
api:
64
build:
7-
context: ./services/users
5+
context: ./services/users # updated
86
dockerfile: Dockerfile
97
entrypoint: ['/usr/src/app/entrypoint.sh']
108
volumes:
11-
- './services/users:/usr/src/app'
9+
- './services/users:/usr/src/app' # updated
1210
ports:
1311
- 5004:5000
1412
environment:
13+
- FLASK_DEBUG=1
1514
- FLASK_ENV=development
1615
- APP_SETTINGS=src.config.DevelopmentConfig
1716
- DATABASE_URL=postgresql://postgres:postgres@api-db:5432/api_dev
@@ -21,7 +20,7 @@ services:
2120

2221
api-db:
2322
build:
24-
context: ./services/users/src/db
23+
context: ./services/users/src/db # updated
2524
dockerfile: Dockerfile
2625
expose:
2726
- 5432
@@ -38,9 +37,9 @@ services:
3837
- './services/client:/usr/src/app'
3938
- '/usr/src/app/node_modules'
4039
ports:
41-
- 3007:3000
40+
- 3007:5173
4241
environment:
4342
- NODE_ENV=development
44-
- REACT_APP_API_SERVICE_URL=${REACT_APP_API_SERVICE_URL}
43+
- VITE_API_SERVICE_URL=${VITE_API_SERVICE_URL}
4544
depends_on:
4645
- api

services/client/.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
VITE_API_SERVICE_URL=http://localhost:5004

services/client/.eslintrc.cjs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
module.exports = {
2+
root: true,
3+
env: { browser: true, es2020: true },
4+
extends: [
5+
'eslint:recommended',
6+
'plugin:@typescript-eslint/recommended',
7+
'plugin:react-hooks/recommended',
8+
'plugin:react/recommended' // Add React rules
9+
],
10+
ignorePatterns: ['dist', '.eslintrc.cjs'],
11+
parser: '@typescript-eslint/parser',
12+
plugins: ['react-refresh', 'react'], // Add React plugin
13+
rules: {
14+
'react-refresh/only-export-components': [
15+
'warn',
16+
{ allowConstantExport: true },
17+
],
18+
'react/jsx-no-bind': ['error', {
19+
'allowArrowFunctions': true,
20+
'allowBind': false,
21+
'ignoreRefs': true
22+
}],
23+
},
24+
settings: {
25+
react: {
26+
version: '18.0',
27+
},
28+
},
29+
};

services/client/.eslintrc.json

Lines changed: 0 additions & 38 deletions
This file was deleted.

services/client/.gitignore

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
1-
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2-
3-
# dependencies
4-
/node_modules
5-
/.pnp
6-
.pnp.js
7-
8-
# testing
9-
/coverage
10-
11-
# production
12-
/build
13-
14-
# misc
15-
.DS_Store
16-
.env.local
17-
.env.development.local
18-
.env.test.local
19-
.env.production.local
20-
1+
# Logs
2+
logs
3+
*.log
214
npm-debug.log*
225
yarn-debug.log*
236
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

services/client/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# pull official base image
2-
FROM node:17-alpine
2+
FROM node:20.16.0
33

44
# set working directory
55
WORKDIR /usr/src/app
@@ -11,7 +11,6 @@ ENV PATH /usr/src/app/node_modules/.bin:$PATH
1111
COPY package.json .
1212
COPY package-lock.json .
1313
RUN npm ci
14-
RUN npm install [email protected] -g --silent
1514

1615
# start app
17-
CMD ["npm", "start"]
16+
CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0"]

services/client/Dockerfile.prod

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
###########
44

55
# pull official base image
6-
FROM node:17-alpine as builder
6+
FROM node:20.16.0 AS builder
77

88
# set working directory
99
WORKDIR /usr/src/app
@@ -15,18 +15,16 @@ ENV PATH /usr/src/app/node_modules/.bin:$PATH
1515
COPY package.json .
1616
COPY package-lock.json .
1717
RUN npm ci
18-
RUN npm install [email protected] --silent
19-
2018

2119
# set environment variables
22-
ARG REACT_APP_API_SERVICE_URL
23-
ENV REACT_APP_API_SERVICE_URL $REACT_APP_API_SERVICE_URL
20+
ARG VITE_API_SERVICE_URL
21+
ENV VITE_API_SERVICE_URL=$VITE_API_SERVICE_URL
2422
ARG NODE_ENV
25-
ENV NODE_ENV $NODE_ENV
23+
ENV NODE_ENV=$NODE_ENV
2624

2725
# create build
2826
COPY . .
29-
RUN npm run build
27+
RUN vite build
3028

3129

3230
#########
@@ -41,7 +39,7 @@ RUN rm -rf /etc/nginx/conf.d
4139
COPY conf /etc/nginx
4240

4341
# copy static files
44-
COPY --from=builder /usr/src/app/build /usr/share/nginx/html
42+
COPY --from=builder /usr/src/app/dist /usr/share/nginx/html
4543

4644
# expose port
4745
EXPOSE 80

0 commit comments

Comments
 (0)