Skip to content

Commit 2b2f113

Browse files
Merge pull request #36 from hurricanemark/Phase2-BaselineToSeriousWorks
Phase2 baseline to serious works
2 parents daaba94 + cd6f111 commit 2b2f113

File tree

11 files changed

+4188
-71
lines changed

11 files changed

+4188
-71
lines changed

.dockerignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88
**/.env
99
**/.editorconfig
1010
**/.aws
11-
**/dist
11+
**/dist
12+
**/utils.js

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ public/ePub
44
views/header2.ejs
55
index-temp.ejs
66
utils.js
7+
WeatherApp_US_East1Key.ppk
8+
index.copy.js

Dockerfile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@ FROM node:16.17.0 AS build
22

33
WORKDIR /usr/src/app
44

5-
#COPY package.json package-lock.json ./
6-
COPY . .
5+
COPY package.json package-lock.json ./
6+
7+
RUN npm install --dotenv-extend
78

89
# install package.json and clean cache.
910
RUN npm ci --production && npm cache clean --force
1011

11-
ENV NODE_ENV=production
12+
COPY . .
13+
14+
ENV NODE_ENV=awsdeploy
1215
ENV PORT=8080
1316
ENV WEATHERBIT_URI=https://api.weatherbit.io/v2.0/
14-
15-
# ENV WEATHERBIT_KEY=XXXXXXX <-- expect as container parameter!
17+
ENV WEATHERBIT_KEY=ZTg4ZTFhODA5NmNkNDg5N2I3OWIyMzBhOWM0OWIyNDM=
1618

1719
EXPOSE 8080
1820

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,4 +178,16 @@ Notice also that Dockerfile exposes port 8080. This needs to be forwarded to a
178178

179179
To access the Local Weather app running in docker container, point your browser to the forwarding port 4321.
180180

181-
`http:/localhost:4321`
181+
`http:/localhost:4321`
182+
183+
<br />
184+
185+
## Hosting on A Public Site
186+
187+
For the purpose of hosting this app, we select [Cyclic free-for-life tier](https://app.cyclic.sh/api/login).
188+
Cyclic deploys full stack NodeJS apps on AWS infrastructure directly from GitHub. It works by integrating with your GitHub repos. It will build and deploy your code on every merge or push to your default branch.
189+
190+
Please do not abuse this live website below. Thank you!
191+
[Live demo](https://techrolemiweather.cyclic.app/about)
192+
193+
**Recommend Cylic** https://app.cyclic.sh/#/join/hurricanemark

WeatherApp_US_East1Key.ppk

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
PuTTY-User-Key-File-2: ssh-rsa
2+
Encryption: none
3+
Comment: WeatherApp_US_East1Key
4+
Public-Lines: 6
5+
AAAAB3NzaC1yc2EAAAADAQABAAABAQCby1j9wMJB5+WhIrAp0FIW1eH/+dhRDz8S
6+
53aDH9NzxsxFylm+RxvFMYztUBKvLsR2/nSjz9+Y6qAfp4DxBo729bJLqSE7XTK4
7+
TT8ynnLEC3fXlUWn3MBYGXMRqXfJ5yMG1YEDQn20cWILFd08NDL6CQMkx9If6A0c
8+
2d1Hc41dK2EGqAwo3ocDfTx5vg0x/iAYkOFDG/NBD16MST2GKWTdo3e4TYEfOwuL
9+
Omd/B/8IXVPmuAK95i5qUVXWSSuPy7CiorYRBdeig/B87dRUa75sILHfxKWyvrpe
10+
nY6dS3x+iBiEy6ZS+jAoPdxfSLHHTDGU2qDoNY4wJlN2kTVwOtVp
11+
Private-Lines: 14
12+
AAABAC6ymQ4WhSO0GsRd3WfrJW/q1D8h6JEDfOhxsLhFBeCiKgCRUq0SK2TEIXXQ
13+
lokj/4ebZeLkICV5zl0unBui1592rea331on6VgM73CAxe21ckqQV7ylEpJVroQQ
14+
w/Mk8P7PaEhN2dgIVFb2SsYM72q64NJZgsZFjAil1QnhvPG74Yjc0b35F8S+mRqq
15+
3HiY/zjPy5eSOh4eXsPn5GoJhWkbV1IRfwJkQlb/tuXY2KaUaXHIbU6BPv4soeyE
16+
6FBbKvZeolPk+w6DgcQ/x8wDSUhK3SZICQvSkFfPZ3LvIU01jlVpi0Tc7sPmdpgR
17+
HipFfZtHBnwaw8FuY43KcjQBusEAAACBAOv3fhh1nXmqR5RyYBTaA0xUfH72NRLq
18+
Dxgd46TLqKwzyB8Ikl3AefifAXeGzFhW6K4ucJyhPpg4m7f2TnS1ElcIgkNTIUUb
19+
LxtU9I/aWhFyMrdPsfbBLxx3pHHBHsUQa+J44z8BIphA3VzW+VgiNgsKLlpVuqZA
20+
K0T0FI0RYZRVAAAAgQCpBWKiFW0T1yv9FcE7mH62jP5GyP6f58D6+PhicDID9DvH
21+
BdXq+B+6hgZml6S1WT3O+fzeLSVaC9E+QeQHHWb/MTmDO70St7mKQGbJnTcWLQNV
22+
GA8lvrB0iK1UFctkBWZyeeY0kWIndAB/jTa3e6Y7zMNLEQfB4atxz5wx9MTwxQAA
23+
AIA48iTdOROUdBZkUCzIraJ2dx7xuvaG2jvfY1/9GR9KbeNkU5rmk/YnJnPA5rHr
24+
iK9lK4pa0zzGLuBjeFwrudKIKXtxT5J9z7OuPXgUfT1v3IbtdHxbsm5Sz37iGu/C
25+
wIMSUQHjQkiqqW7iSIeiv0wtEPoQ1CINrqDo7bXri6QW9Q==
26+
Private-MAC: bd3d0bdbff31962cf4eb209b7ee93b9c60675cb5

crypto.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ const decrypt = (data) => {
88
return CryptoJS.enc.Base64.parse(data).toString(CryptoJS.enc.Utf8);
99
};
1010

11+
const encryptAES = (text) => {
12+
return CryptoJS.AES.encrypt(JSON.stringify({ text }), 'daddy').toString();
13+
}
14+
const decryptAES = (data) => {
15+
return CryptoJS.AES.decrypt(data, 'daddy').toString(CryptoJS.enc.Utf8);
16+
}
17+
1118
const toLocalDt = (unix_ts) => {
1219
// Create a new JavaScript Date object based on the timestamp
1320
// multiplied by 1000 so that the argument is in milliseconds, not seconds.
@@ -24,11 +31,12 @@ const toLocalDt = (unix_ts) => {
2431
}
2532

2633
function test() {
27-
let enStr = encrypt("e88e1a8096cd4897b79b230a9c49b243");
34+
let enStr = encryptAES("e88e1a8096cd4897b79b230a9c49b243");
2835
console.log("Encrypted Key: " + enStr);
29-
console.log("Decrypted key: " + decrypt(enStr));
36+
// WEATHERBIT_KEY = Object.entries(Xcode).value;
37+
console.log("Decrypted key: " + JSON.parse(decryptAES(enStr)).text);
3038

3139
}
3240

3341
// test();
34-
export {encrypt, decrypt, toLocalDt};
42+
export {encrypt, decrypt, encryptAES, decryptAES, toLocalDt};

0 commit comments

Comments
 (0)