AquilaCode

A full-stack monorepo: Angular front end, NestJS on Fastify and MongoDB, built with Nx.

Code on GitHub
Back
Layout

Overview

Website is hosted here: https://aquilacode.io/

Website tech stack:
(NX/Nestjs/Mongodb/Angular/Tailwind/NGINX/Docker(Files and Compose)/Docker Images/
AWS Private ECR/AWS Loadbalancer/AWS EC2/AWS Route53/AWS ACM(certificates for ssl)/
OpenAPI3.0/Private NPM Repository)
-SVGs for alot of the buttons and animations 
(Custom made via generating AI art with Midjourney and converting to svg, using figma/illustrator/inkscape to optimize the svgs
and mark id them for use in angular/bindings/animations)
-GSAP soon to come
-NX build system
-Auth0/Okta(Jwt tokens)/Backend Authorization(Users tracked via Auth0/Okta)
-Nestjs backend(Using passport for Auth0)
-API spec generated from Nestjs code
-API Spec used to generate an sdk thats uploaded to npm repository
-This sdk is then `npm installed` by the Frontend
-Frontend is angular
-database is mongodb
-NX build system manages both UI/Frontend and api spec in a monorepo
-Code is built with dockerfiles and docker compose
-Docker images are uploaded to amazon ecr registery
-EC2 in behind a load balancer and route53 routes traffic via secure SSL (https) aquilacode.io domain
to the ec2
-EC2 checks out docker images from aws private ecr registery
-EC2 then uses docker compose file with those images to spin up the entire stack of services(frontened/backened/mongdb database)
-NGINX server is used to route to the frontend or backend based on path paramater

A mono repo for a complete application(UI/Backend), using NX, NestJS(W/ Fastify), Angular, OpenAPI3.0

Site on 09/02/2024

Added: JWT auth guard for all websocket calls, to authenticate jwt token is valid token from auth0 before allowing any websocket traffic Custom socket in angular with authservice auth0 calls to add the jwt token to the websocket calls during socket traffic Lots of work to make the shared(multiplayer) chat feature/UI work perfectly.. Chat works as you'd expect any chat to work now

Site on 08/31/2024

Added sync script to auto sync everything to s3 ./AquilaCode/Secrets/sync.sh

Sockets working, have a chat app that is a proof of concept that uses websockets for users to chat with each other/ other connected clients

Site on 08/27/2024

Site on 08/22/2024

Hosted in the cloud, Okta/Auth0 login/logout functionality (google/facebook... etc), lots of svg animations, apis all hooked up and working and reading from authguard protected endpoints, reading/writing to mongoDB(via dtos/mongoose), using npm sdk from openapi spec/openapi sdk generation, hosted via aws s3 ecr by pulling docker images to ec2 for frontend/backend/mongodb(nginx server)

Site on 08/11/2024 - hosted in the cloud now, with Okta/Auth0 login/logout functionality (google/facebook... etc)

Site on 08/09/2024 - hosted in the cloud now

Site on 08/07/2024 - hosted in the cloud now

Site on 08/05/2024 - hosted in the cloud now

Site on 07/27/2024 - locally hosted

Youtube vid

Video created using images from midjourney using genmo

Original images I created from midjourney

$${\color{green}Figma \space Designs}$$

$${\color{green}Sample \space Ships \space(Midjourney \space generated)}$$

$${\color{green}BoilerPlate \space NX \space docs \space stuff}$$

✨ This workspace has been generated by Nx, Smart Monorepos · Fast CI. ✨

Integrate with editors

Enhance your Nx experience by installing [Nx Console](https://nx.dev/nx-console) for your favorite editor. Nx Console provides an interactive UI to view your projects, run tasks, generate code, and more! Available for VSCode, IntelliJ and comes with a LSP for Vim users.

Nx plugins and code generators

Add Nx plugins to leverage their code generators and automated, inferred tasks.
# Add plugin
npx nx add @nx/react

# Use code generator
npx nx generate @nx/react:app demo

# Run development server
npx nx serve demo

# View project details
npx nx show project demo --web

Run npx nx list to get a list of available plugins and whether they have generators. Then run npx nx list <plugin-name> to see what generators are available.

Learn more about code generators and inferred tasks in the docs.

Running tasks

To execute tasks with Nx use the following syntax:
npx nx <target> <project> <...options>

You can also run multiple targets:

npx nx run-many -t <target1> <target2>

..or add -p to filter specific projects

npx nx run-many -t <target1> <target2> -p <proj1> <proj2>

Targets can be defined in the package.json or projects.json. Learn more in the docs.

Set up CI!

Nx comes with local caching already built-in (check your `nx.json`). On CI you might want to go a step further.

Explore the project graph

Run `npx nx graph` to show the graph of the workspace. It will show tasks that you can run with Nx.

Connect with us!

- [Join the community](https://nx.dev/community) - [Subscribe to the Nx Youtube Channel](https://www.youtube.com/@nxdevtools) - [Follow us on Twitter](https://twitter.com/nxdevtools)

Links/References to good sites

https://github.com/stuyy/nestjs-with-mongodb-mongoose/tree/master

How I generated the SVGs and animations for the site

  • SVGs for alot of the buttons and animations
    • Custom made via generating AI art and converting to svg, using figma/illustrator/inkscape to optimize the svgs and mark id them for use in angular/bindings/animations
    • Used Midjourney to generate high def style related images
    • Used svg apps (figma/illistrator/inkscape) to convert and manipulate svgs and mash them together
    • Created angular compoenents to wrap the svgs and bind to them for animation/manipulation(Will replace with gsap more than likely)

deploying to prod/docker, hosting locally/docker, hosting locally(no docker)

#SSHing/SCPing to Ec2 
ssh -i "SECRET.pem" ec2-user@ec2-54-147-25-124.compute-1.amazonaws.com
scp -i SECRET.pm /d/OtherProjects/AquilaCode/docker-compose.yaml ec2-user@dsfadsfasd.sdfad.amazonaws.com:/home/ec2-user/docker-compose.yaml

#Ec2 commands
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin GETID.dkr.ecr.us-east-1.amazonaws.com
sudo docker pull GETID.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend:latest
sudo docker pull GETID.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend:latest
docker-compose -f docker-compose.yaml down
Sometimes you can just stop, like, 
docker-compose stop
docker-compose -f docker-compose.yaml up -d

#Locally building/serving
nx build nest-app --verbose --skip-nx-cache
nx serve nest-app --verbose --skip-nx-cache
nx build angular-app --verbose --skip-nx-cache
nx serve angular-app --verbose --skip-nx-cache

#Docker(local/prod) building/hosting
#Login first
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin GETID.dkr.ecr.us-east-1.amazonaws.com

docker build --no-cache -t aquilacode-backend:latest -f DockerfileNest .
docker tag aquilacode-backend:latest GETID.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend
docker push GETID.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend

docker build --no-cache -t aquilacode-frontend:latest -f DockerfileAngular .
docker tag aquilacode-frontend:latest GETID.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend
docker push GETID.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend

docker images

#Hosting docker locally
cd configs
python localDockerConfig.py
docker build FE ...
docker build BE ...
docker tag FE ...
docker tag BE ...
docker-compose -f docker-compose.yaml down
docker-compose -f docker-compose.yaml up -d

#Hosting locally
cd configs
python localConfig.py
docker-compose -f docker-compose.yaml up -d #This will only host mongodb container
nx serve nest-app --verbose --skip-nx-cache
nx serve angular-app --verbose --skip-nx-cache

#Hosting docker containers/images in prod(ec2)
cd configs
python prodConfig.py
docker build FE ...
docker tag FE ...

docker build BE ...
docker tag BE ...

docker push FE ...
docker push BE ...

Get on EC2
SSH to aws ecr
cd Secrets
ssh -i "SECRET.pem" ec2-user@12231231232132.compute-1.amazonaws.com
docker pull FE ...
docker pull BE ...
docker-compose -f docker-compose.yaml down
docker-compose -f docker-compose.yaml up -d 

Setting up nx monorepo for angular and nestjs

**Used this stackoverflow post to help**

https://stackoverflow.com/questions/77347982/nx-monorepo-nestjs-angular

Run "npm i -g nx" to be able to execute command directly.
PS D:\OtherProjects> npx create-nx-workspace@latest

 NX   Let's create a new workspace [https://nx.dev/getting-started/intro]

√ Where would you like to create your workspace? · AquilaCode
√ Which stack do you want to use? · none
√ Package-based monorepo, integrated monorepo, or standalone project? · integrated
√ Which CI provider would you like to use? · skip
√ Would you like remote caching to make your build faster? · skip

 NX   Creating your v19.5.1 workspace.

✔ Installing dependencies with npm
✔ Successfully created the workspace: AquilaCode.

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————


 NX   Nx CLI is not installed globally.

This means that you will have to use "npx nx" to execute commands in the workspace.
Run "npm i -g nx" to be able to execute command directly.


—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————


 NX   First time using Nx? Check out this interactive Nx tutorial.

https://nx.dev/getting-started/tutorials/npm-workspaces-tutorial

PS D:\OtherProjects> cd .\AquilaCode\
PS D:\OtherProjects\AquilaCode> npm i -D @nx/angular @nx/nest @nx/js
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead

added 863 packages, and audited 1225 packages in 32s

189 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
PS D:\OtherProjects\AquilaCode> nx g @nx/angular:app angular-app
nx : The term 'nx' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ nx g @nx/angular:app angular-app
+ ~~
    + CategoryInfo          : ObjectNotFound: (nx:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS D:\OtherProjects\AquilaCode> npm i -g nx

added 114 packages in 3s

22 packages are looking for funding
  run `npm fund` for details
PS D:\OtherProjects\AquilaCode> nx g @nx/angular:app angular-app
nx : File C:\Users\jacob\AppData\Roaming\npm\nx.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ nx g @nx/angular:app angular-app
+ ~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
PS D:\OtherProjects\AquilaCode>

To get around the above issue, Switched from vs code terminal (that uses powershell) To Cygwin/mono terminal

Generate angular app

[5.2][513][jacob@jakesbeastmech][/d/OtherProjects]
$cd AquilaCode/
total 786K
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:37 node_modules
-rw-r--r-- 1 jacob 197609  252 Jul 21 14:36 nx.json
-rw-r--r-- 1 jacob 197609  274 Jul 21 14:37 package.json
-rw-r--r-- 1 jacob 197609 652K Jul 21 14:37 package-lock.json
-rw-r--r-- 1 jacob 197609 2.4K Jul 21 14:36 README.md
[5.2][514][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$nx g @nx/angular:app angular-app

 NX  Generating @nx/angular:application

In Nx 20, generating projects will no longer derive the name and root.
Please provide the exact project name and root in the future.
Example: nx g @nx/angular:application angular-app --directory angular-app
Fetching prettier...
Fetching @nx/playwright...
CREATE tsconfig.base.json
CREATE .prettierrc
CREATE .prettierignore
UPDATE .vscode/extensions.json
UPDATE package.json
UPDATE .gitignore
UPDATE nx.json
CREATE angular-app/project.json
CREATE angular-app/src/index.html
CREATE angular-app/src/styles.css
CREATE angular-app/tsconfig.app.json
CREATE angular-app/tsconfig.editor.json
CREATE angular-app/tsconfig.json
CREATE angular-app/public/favicon.ico
CREATE angular-app/src/app/app.component.html
CREATE angular-app/src/app/app.component.spec.ts
CREATE angular-app/src/app/app.component.ts
CREATE angular-app/src/app/app.component.css
CREATE angular-app/src/app/app.config.ts
CREATE angular-app/src/app/app.routes.ts
CREATE angular-app/src/app/nx-welcome.component.ts
CREATE angular-app/src/main.ts
CREATE .eslintrc.json
CREATE .eslintignore
CREATE angular-app/.eslintrc.json
CREATE jest.preset.js
CREATE jest.config.ts
CREATE angular-app/jest.config.ts
CREATE angular-app/src/test-setup.ts
CREATE angular-app/tsconfig.spec.json
CREATE angular-app-e2e/project.json
CREATE angular-app-e2e/playwright.config.ts
CREATE angular-app-e2e/src/example.spec.ts
CREATE angular-app-e2e/tsconfig.json
CREATE angular-app-e2e/.eslintrc.json
npm warn deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm warn deprecated domexception@4.0.0: Use your platform's native DOMException instead

added 290 packages, removed 2 packages, changed 1 package, and audited 1513 packages in 12s

212 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

 NX   � View Details of angular-app

Run "nx show project angular-app" to view details about this project.

Generate nest app

[5.2][515][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$nx g @nx/nest:app nest-app

 NX  Generating @nx/nest:application

In Nx 20, generating projects will no longer derive the name and root.
Please provide the exact project name and root in the future.
Example: nx g @nx/nest:application nest-app --directory nest-app
In Nx 20, generating projects will no longer derive the name and root.
Please provide the exact project name and root in the future.
Example: nx g @nx/node:application nest-app --directory nest-app
UPDATE package.json
UPDATE nx.json
CREATE nest-app/src/assets/.gitkeep
CREATE nest-app/src/main.ts
CREATE nest-app/tsconfig.app.json
CREATE nest-app/tsconfig.json
CREATE nest-app/webpack.config.js
CREATE nest-app/project.json
CREATE nest-app/.eslintrc.json
CREATE nest-app/jest.config.ts
CREATE nest-app/tsconfig.spec.json
CREATE nest-app-e2e/project.json
CREATE nest-app-e2e/jest.config.ts
CREATE nest-app-e2e/src/support/global-setup.ts
CREATE nest-app-e2e/src/support/global-teardown.ts
CREATE nest-app-e2e/src/support/test-setup.ts
CREATE nest-app-e2e/src/nest-app/nest-app.spec.ts
CREATE nest-app-e2e/tsconfig.json
CREATE nest-app-e2e/tsconfig.spec.json
CREATE nest-app-e2e/.eslintrc.json
CREATE nest-app/src/app/app.controller.spec.ts
CREATE nest-app/src/app/app.controller.ts
CREATE nest-app/src/app/app.module.ts
CREATE nest-app/src/app/app.service.spec.ts
CREATE nest-app/src/app/app.service.ts

added 53 packages, changed 5 packages, and audited 1566 packages in 5s

218 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

 NX   � View Details of nest-app-e2e

Run "nx show project nest-app-e2e" to view details about this project.


 NX   � View Details of nest-app

Run "nx show project nest-app" to view details about this project.

Generate shared lib directory


[5.2][516][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$nx g @nx/js:lib shared-lib

 NX  Generating @nx/js:library

In Nx 20, generating projects will no longer derive the name and root.
Please provide the exact project name and root in the future.
Example: nx g @nx/js:library shared-lib --directory shared-lib
CREATE shared-lib/tsconfig.json
CREATE shared-lib/src/index.ts
CREATE shared-lib/src/lib/shared-lib.spec.ts
CREATE shared-lib/src/lib/shared-lib.ts
CREATE shared-lib/tsconfig.lib.json
CREATE shared-lib/README.md
CREATE shared-lib/package.json
UPDATE nx.json
CREATE shared-lib/project.json
CREATE shared-lib/.eslintrc.json
CREATE shared-lib/jest.config.ts
CREATE shared-lib/tsconfig.spec.json
UPDATE tsconfig.base.json

 NX   � View Details of shared-lib

Run "nx show project shared-lib" to view details about this project.

Setting up git repo


[5.2][517][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$ls -lt
total 999K
-rw-r--r-- 1 jacob 197609 2.0K Jul 21 14:40 nx.json
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:40 shared-lib
-rw-r--r-- 1 jacob 197609  533 Jul 21 14:40 tsconfig.base.json
-rw-r--r-- 1 jacob 197609 810K Jul 21 14:39 package-lock.json
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:39 node_modules
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:39 nest-app-e2e
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:39 nest-app
-rw-r--r-- 1 jacob 197609 2.3K Jul 21 14:39 package.json
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:38 angular-app
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:38 angular-app-e2e
-rw-r--r-- 1 jacob 197609  126 Jul 21 14:38 jest.config.ts
-rw-r--r-- 1 jacob 197609   88 Jul 21 14:38 jest.preset.js
-rw-r--r-- 1 jacob 197609 2.4K Jul 21 14:36 README.md


[5.2][522][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git init && git symbolic-ref HEAD refs/heads/main
Reinitialized existing Git repository in D:/OtherProjects/AquilaCode/.git/
[5.2][523][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git status
On branch main

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   .editorconfig
        new file:   .gitignore
        new file:   .vscode/extensions.json
        new file:   README.md
        new file:   nx.json
        new file:   package-lock.json
        new file:   package.json

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   .gitignore
        modified:   .vscode/extensions.json
        modified:   nx.json
        modified:   package-lock.json
        modified:   package.json

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .eslintignore
        .eslintrc.json
        .prettierignore
        .prettierrc
        angular-app-e2e/
        angular-app/
        jest.config.ts
        jest.preset.js
        nest-app-e2e/
        nest-app/
        shared-lib/
        tsconfig.base.json

[5.2][524][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git add .
[5.2][525][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git status
On branch main

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   .editorconfig
        new file:   .eslintignore
        new file:   .eslintrc.json
        new file:   .gitignore
        new file:   .prettierignore
        new file:   .prettierrc
        new file:   .vscode/extensions.json
        new file:   README.md
        new file:   angular-app-e2e/.eslintrc.json
        new file:   angular-app-e2e/playwright.config.ts
        new file:   angular-app-e2e/project.json
        new file:   angular-app-e2e/src/example.spec.ts
        new file:   angular-app-e2e/tsconfig.json
        new file:   angular-app/.eslintrc.json
        new file:   angular-app/jest.config.ts
        new file:   angular-app/project.json
        new file:   angular-app/public/favicon.ico
        new file:   angular-app/src/app/app.component.css
        new file:   angular-app/src/app/app.component.html
        new file:   angular-app/src/app/app.component.spec.ts
        new file:   angular-app/src/app/app.component.ts
        new file:   angular-app/src/app/app.config.ts
        new file:   angular-app/src/app/app.routes.ts
        new file:   angular-app/src/app/nx-welcome.component.ts
        new file:   angular-app/src/index.html
        new file:   angular-app/src/main.ts
        new file:   angular-app/src/styles.css
        new file:   angular-app/src/test-setup.ts
        new file:   angular-app/tsconfig.app.json
        new file:   angular-app/tsconfig.editor.json
        new file:   angular-app/tsconfig.json
        new file:   angular-app/tsconfig.spec.json
        new file:   jest.config.ts
        new file:   jest.preset.js
        new file:   nest-app-e2e/.eslintrc.json
        new file:   nest-app-e2e/jest.config.ts
        new file:   nest-app-e2e/project.json
        new file:   nest-app-e2e/src/nest-app/nest-app.spec.ts
        new file:   nest-app-e2e/src/support/global-setup.ts
        new file:   nest-app-e2e/src/support/global-teardown.ts
        new file:   nest-app-e2e/src/support/test-setup.ts
        new file:   nest-app-e2e/tsconfig.json
        new file:   nest-app-e2e/tsconfig.spec.json
        new file:   nest-app/.eslintrc.json
        new file:   nest-app/jest.config.ts
        new file:   nest-app/project.json
        new file:   nest-app/src/app/app.controller.spec.ts
        new file:   nest-app/src/app/app.controller.ts
        new file:   nest-app/src/app/app.module.ts
        new file:   nest-app/src/app/app.service.spec.ts
        new file:   nest-app/src/app/app.service.ts
        new file:   nest-app/src/assets/.gitkeep
        new file:   nest-app/src/main.ts
        new file:   nest-app/tsconfig.app.json
        new file:   nest-app/tsconfig.json
        new file:   nest-app/tsconfig.spec.json
        new file:   nest-app/webpack.config.js
        new file:   nx.json
        new file:   package-lock.json
        new file:   package.json
        new file:   shared-lib/.eslintrc.json
        new file:   shared-lib/README.md
        new file:   shared-lib/jest.config.ts
        new file:   shared-lib/package.json
        new file:   shared-lib/project.json
        new file:   shared-lib/src/index.ts
        new file:   shared-lib/src/lib/shared-lib.spec.ts
        new file:   shared-lib/src/lib/shared-lib.ts
        new file:   shared-lib/tsconfig.json
        new file:   shared-lib/tsconfig.lib.json
        new file:   shared-lib/tsconfig.spec.json
        new file:   tsconfig.base.json

[5.2][526][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git commit -m "First commit"
[main (root-commit) 2df2fe6] First commit
 72 files changed, 24902 insertions(+)
 create mode 100644 .editorconfig
 create mode 100644 .eslintignore
 create mode 100644 .eslintrc.json
 create mode 100644 .gitignore
 create mode 100644 .prettierignore
 create mode 100644 .prettierrc
 create mode 100644 .vscode/extensions.json
 create mode 100644 README.md
 create mode 100644 angular-app-e2e/.eslintrc.json
 create mode 100644 angular-app-e2e/playwright.config.ts
 create mode 100644 angular-app-e2e/project.json
 create mode 100644 angular-app-e2e/src/example.spec.ts
 create mode 100644 angular-app-e2e/tsconfig.json
 create mode 100644 angular-app/.eslintrc.json
 create mode 100644 angular-app/jest.config.ts
 create mode 100644 angular-app/project.json
 create mode 100644 angular-app/public/favicon.ico
 create mode 100644 angular-app/src/app/app.component.css
 create mode 100644 angular-app/src/app/app.component.html
 create mode 100644 angular-app/src/app/app.component.spec.ts
 create mode 100644 angular-app/src/app/app.component.ts
 create mode 100644 angular-app/src/app/app.config.ts
 create mode 100644 angular-app/src/app/app.routes.ts
 create mode 100644 angular-app/src/app/nx-welcome.component.ts
 create mode 100644 angular-app/src/index.html
 create mode 100644 angular-app/src/main.ts
 create mode 100644 angular-app/src/styles.css
 create mode 100644 angular-app/src/test-setup.ts
 create mode 100644 angular-app/tsconfig.app.json
 create mode 100644 angular-app/tsconfig.editor.json
 create mode 100644 angular-app/tsconfig.json
 create mode 100644 angular-app/tsconfig.spec.json
 create mode 100644 jest.config.ts
 create mode 100644 jest.preset.js
 create mode 100644 nest-app-e2e/.eslintrc.json
 create mode 100644 nest-app-e2e/jest.config.ts
 create mode 100644 nest-app-e2e/project.json
 create mode 100644 nest-app-e2e/src/nest-app/nest-app.spec.ts
 create mode 100644 nest-app-e2e/src/support/global-setup.ts
 create mode 100644 nest-app-e2e/src/support/global-teardown.ts
 create mode 100644 nest-app-e2e/src/support/test-setup.ts
 create mode 100644 nest-app-e2e/tsconfig.json
 create mode 100644 nest-app-e2e/tsconfig.spec.json
 create mode 100644 nest-app/.eslintrc.json
 create mode 100644 nest-app/jest.config.ts
 create mode 100644 nest-app/project.json
 create mode 100644 nest-app/src/app/app.controller.spec.ts
 create mode 100644 nest-app/src/app/app.controller.ts
 create mode 100644 nest-app/src/app/app.module.ts
 create mode 100644 nest-app/src/app/app.service.spec.ts
 create mode 100644 nest-app/src/app/app.service.ts
 create mode 100644 nest-app/src/assets/.gitkeep
 create mode 100644 nest-app/src/main.ts
 create mode 100644 nest-app/tsconfig.app.json
 create mode 100644 nest-app/tsconfig.json
 create mode 100644 nest-app/tsconfig.spec.json
 create mode 100644 nest-app/webpack.config.js
 create mode 100644 nx.json
 create mode 100644 package-lock.json
 create mode 100644 package.json
 create mode 100644 shared-lib/.eslintrc.json
 create mode 100644 shared-lib/README.md
 create mode 100644 shared-lib/jest.config.ts
 create mode 100644 shared-lib/package.json
 create mode 100644 shared-lib/project.json
 create mode 100644 shared-lib/src/index.ts
 create mode 100644 shared-lib/src/lib/shared-lib.spec.ts
 create mode 100644 shared-lib/src/lib/shared-lib.ts
 create mode 100644 shared-lib/tsconfig.json
 create mode 100644 shared-lib/tsconfig.lib.json
 create mode 100644 shared-lib/tsconfig.spec.json
 create mode 100644 tsconfig.base.json
[5.2][527][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git status
On branch main
nothing to commit, working tree clean
[5.2][528][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git push
fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository using

    git remote add <name> <url>

and then push using the remote name

    git push <name>

[5.2][529][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git remote add origin git@github.com:^Cemo_app.git
[5.2][529][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git remote add origin git@github.com:jacobmott/AquilaCode.git
[5.2][530][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git status
On branch main
nothing to commit, working tree clean
[5.2][531][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git push
fatal: The current branch main has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin main

To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.

[5.2][532][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git push --set-upstream origin main
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
[5.2][533][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git remote add origin git@github.com:jacobmott/AquilaCode.git
error: remote origin already exists.
[5.2][534][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git push -u origin main
Writing objects:  85% (76/89)Writing objects: 100% (89/89), 209.03 KiB | 5.81 MiB/s, done.
Total 89 (delta 14), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (14/14), done.
To github.com:jacobmott/AquilaCode.git
 * [new branch]      main -> mainbranch 'main' set up to track 'origin/main'.
[5.2][535][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
[5.2][536][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$ls
total 999K
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:38 angular-app
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:38 angular-app-e2e
-rw-r--r-- 1 jacob 197609  126 Jul 21 14:38 jest.config.ts
-rw-r--r-- 1 jacob 197609   88 Jul 21 14:38 jest.preset.js
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:39 nest-app
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:39 nest-app-e2e
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:39 node_modules
-rw-r--r-- 1 jacob 197609 2.0K Jul 21 14:40 nx.json
-rw-r--r-- 1 jacob 197609 2.3K Jul 21 14:39 package.json
-rw-r--r-- 1 jacob 197609 810K Jul 21 14:39 package-lock.json
-rw-r--r-- 1 jacob 197609 2.4K Jul 21 14:36 README.md
drwxr-xr-x 1 jacob 197609    0 Jul 21 14:40 shared-lib
-rw-r--r-- 1 jacob 197609  533 Jul 21 14:40 tsconfig.base.json
[5.2][537][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$

Configure script to configure things for a specific environment (local(a.k.a dev) or prod currently)

[5.2][538][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/configs]
$pwd
/d/OtherProjects/AquilaCode/configs
[5.2][539][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/configs]
$ls
total 35K
drwxr-xr-x 1 jacob 197609    0 Aug 17 14:35 __pycache__
-rw-r--r-- 1 jacob 197609  736 Aug 17 15:01 environment.developmentLOCAL.ts
-rw-r--r-- 1 jacob 197609  743 Aug 17 15:01 environment.developmentPROD.ts
-rw-r--r-- 1 jacob 197609  736 Aug 17 15:01 environmentLOCAL.ts
-rw-r--r-- 1 jacob 197609  743 Aug 17 15:01 environmentPROD.ts
-rw-r--r-- 1 jacob 197609   77 Aug 17 15:13 localconfig.py
-rw-r--r-- 1 jacob 197609 3.0K Aug 17 15:05 nginxLOCAL.conf
-rw-r--r-- 1 jacob 197609 3.0K Aug 17 15:05 nginxPROD.conf
-rw-r--r-- 1 jacob 197609   76 Aug 17 15:13 prodconfig.py
-rw-r--r-- 1 jacob 197609 2.1K Aug 17 15:11 sharedutils.py
-rw-r--r-- 1 jacob 197609    0 Aug 17 14:35 test.ignorethisfile
-rw-r--r-- 1 jacob 197609   63 Aug 17 14:08 testThisIsATest.ignorethisfile
-rw-r--r-- 1 jacob 197609   83 Aug 17 14:36 thisisatestconfig.py
[5.2][540][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/configs]
$python localconfig.py
Configuring environment: local
./environment.developmentLOCAL.ts copied over ../angular-app/src/environments/environment.development.ts: (Success)
./environmentLOCAL.ts copied over ../angular-app/src/environments/environment.ts: (Success)
./nginxLOCAL.conf copied over ../nginx.conf: (Success)
../Secrets/envLOCALnest-app copied over ../nest-app/.env: (Success)
../Secrets/auth_configLOCALangular-app.json copied over ../angular-app/auth_config.json: (Success)
../Secrets/keysLOCALnest-app.ts copied over ../nest-app/src/config/keys.ts: (Success)
[5.2][541][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/configs]
$git status
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   ../angular-app/auth_config.json
        modified:   ../angular-app/src/environments/environment.development.ts
        modified:   ../angular-app/src/environments/environment.ts
        modified:   ../nest-app/src/config/keys.ts

no changes added to commit (use "git add" and/or "git commit -a")
[5.2][542][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/configs]

Building and serving the nest app

  [5.2][548][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$nx build nest-app

> nx run nest-app:build

> webpack-cli build --node-env=production

chunk (runtime: main) main.js (main) 2.71 KiB [entry] [rendered]
webpack compiled successfully (f60f6de829567d37)

NX Successfully ran target build for project nest-app

[5.2][549][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$nx serve nest-app

> nx run nest-app:serve:development

> webpack-cli build --node-env=production
> chunk (runtime: main) main.js (main) 2.71 KiB [entry] [rendered] NX Successfully ran target build for project nest-app
> Nx read the output from the cache instead of running the command for 1 out of 1 tasks.
> Debugger listening on ws://localhost:9229/f550fa3f-6c66-4234-943c-be344d4795c8
> Debugger listening on ws://localhost:9229/f550fa3f-6c66-4234-943c-be344d4795c8
> For help, see: https://nodejs.org/en/docs/inspector

[Nest] 30032 - 07/21/2024, 3:23:35 PM LOG [NestFactory] Starting Nest application...
[Nest] 30032 - 07/21/2024, 3:23:35 PM LOG [InstanceLoader] AppModule dependencies initialized +4ms
[Nest] 30032 - 07/21/2024, 3:23:35 PM LOG � Application is running on: http://localhost:3000/api

Building and serving the angular app


[5.2][477][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$nx build angular-app

> nx run angular-app:build:production

- Building...
  Initial chunk files | Names | Raw size | Estimated transfer size
  main-YEWAPI47.js | main | 214.98 kB | 56.63 kB
  polyfills-SCHOHYNV.js | polyfills | 34.52 kB | 11.29 kB
  styles-5INURTSO.css | styles | 0 bytes | 0 bytes

                        | Initial total | 249.51 kB |                67.92 kB

Output location: D:\OtherProjects\AquilaCode\dist\angular-app

Application bundle generation complete. [3.638 seconds]

NX Successfully ran target build for project angular-app

[5.2][478][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$nx serve angular-app

> nx run angular-app:serve:development

- Building...
  Initial chunk files | Names | Raw size
  polyfills.js | polyfills | 90.23 kB |
  main.js | main | 34.82 kB |
  styles.css | styles | 107 bytes |

                      | Initial total | 125.16 kB

Application bundle generation complete. [0.768 seconds]

Watch mode enabled. Watching for file changes...
NOTE: Raw file sizes do not reflect development server per-request transformations.
➜ Local: http://localhost:4200/

Fastify has been setup instead of express for our nestjs backend

https://docs.nestjs.com/techniques/performance

Adding a new controller to nest.js backend app via nx console plugin in visual studio code

07/21/2024

Hosted API for GET/PUT/POST/DELETE for a "SHIP" server

Setup mongoose database

OpenAPI3.0 spec

Setup openapi-generator

[5.2][475][jacob@jakesbeastmech][~]
$npm install @openapitools/openapi-generator-cli -g
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported

added 116 packages in 14s

23 packages are looking for funding
  run `npm fund` for details

Generate client SDK and publish to npm

https://www.npmjs.com/package/aquilacode-api


npx openapi-generator-cli generate -i openapi.spec.yaml -g typescript-angular -o dist --additional-properties fileNaming=kebab-case,supportsES6=true,npmName=aquilacode-api,snapshot=false,ngVersion=18.1.0,npmVersion=2.0.0

 [5.2][505][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi]
$npx openapi-generator-cli generate -i openapi.spec.yaml -g typescript-angular -o dist --additional-properties fileNaming=kebab-case,supportsES6=true,npmName=aquilacode-api,snapshot=false,ngVersion=18.1.1,npmVersion=1.0.0
[main] INFO  o.o.codegen.DefaultGenerator - Generating with dryRun=false
[main] INFO  o.o.c.ignore.CodegenIgnoreProcessor - Output directory (D:\OtherProjects\AquilaCode\openapi\dist) does not exist, or is inaccessible. No file (.openapi-generator-ignore) will be evaluated.
[main] INFO  o.o.codegen.DefaultGenerator - OpenAPI Generator: typescript-angular (client)
[main] INFO  o.o.codegen.DefaultGenerator - Generator 'typescript-angular' is considered stable.
[main] INFO  o.o.c.l.AbstractTypeScriptClientCodegen - Hint: Environment variable 'TS_POST_PROCESS_FILE' (optional) not defined. E.g. to format the source code, please try 'export TS_POST_PROCESS_FILE="/usr/local/bin/prettier --write"' (Linux/Mac)
[main] INFO  o.o.c.l.AbstractTypeScriptClientCodegen - Note: To enable file post-processing, 'enablePostProcessFile' must be set to `true` (--enable-post-process-file for CLI).
[main] INFO  o.o.codegen.utils.URLPathUtils - 'host' (OAS 2.0) or 'servers' (OAS 3.0) not defined in the spec. Default to [http://localhost] for server URL [http://localhost/]
[main] INFO  o.o.codegen.utils.URLPathUtils - 'host' (OAS 2.0) or 'servers' (OAS 3.0) not defined in the spec. Default to [http://localhost] for server URL [http://localhost/]
[main] INFO  o.o.codegen.DefaultGenerator - Model CreateShipDto not generated since it's a free-form object
[main] INFO  o.o.codegen.utils.URLPathUtils - 'host' (OAS 2.0) or 'servers' (OAS 3.0) not defined in the spec. Default to [http://localhost] for server URL [http://localhost/]
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\api\default.service.ts
[main] INFO  o.o.codegen.utils.URLPathUtils - 'host' (OAS 2.0) or 'servers' (OAS 3.0) not defined in the spec. Default to [http://localhost] for server URL [http://localhost/]
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\model\models.ts
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\api\api.ts
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\index.ts
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\api.module.ts
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\configuration.ts
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\variables.ts
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\encoder.ts
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\param.ts
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\.gitignore
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\git_push.sh
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\README.md
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\ng-package.json
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\package.json
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\tsconfig.json
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\.openapi-generator-ignore
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\.openapi-generator\VERSION
[main] INFO  o.o.codegen.TemplateManager - writing file D:\OtherProjects\AquilaCode\openapi\dist\.openapi-generator\FILES
################################################################################
# Thanks for using OpenAPI Generator.                                          #
# Please consider donation to help us maintain this project ?                 #
# https://opencollective.com/openapi_generator/donate                          #
################################################################################
[5.2][506][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi]
$cd dist/
total 37K
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:22 api
-rw-r--r-- 1 jacob 197609 1016 Jul 23 23:22 api.module.ts
-rw-r--r-- 1 jacob 197609 6.2K Jul 23 23:22 configuration.ts
-rw-r--r-- 1 jacob 197609  555 Jul 23 23:22 encoder.ts
-rwxr-xr-x 1 jacob 197609 1.8K Jul 23 23:22 git_push.sh
-rw-r--r-- 1 jacob 197609  144 Jul 23 23:22 index.ts
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:22 model
-rw-r--r-- 1 jacob 197609  112 Jul 23 23:22 ng-package.json
-rw-r--r-- 1 jacob 197609  854 Jul 23 23:22 package.json
-rw-r--r-- 1 jacob 197609 1.4K Jul 23 23:22 param.ts
-rw-r--r-- 1 jacob 197609 5.6K Jul 23 23:22 README.md
-rw-r--r-- 1 jacob 197609  654 Jul 23 23:22 tsconfig.json
-rw-r--r-- 1 jacob 197609  219 Jul 23 23:22 variables.ts
[5.2][507][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$npm install

added 282 packages, and audited 283 packages in 26s

47 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
[5.2][508][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$npm run build

> aquilacode-api@1.0.0 build
> ng-packagr -p ng-package.json

Building Angular Package

------------------------------------------------------------------------------
Building entry point 'aquilacode-api'
------------------------------------------------------------------------------
- Compiling with Angular sources in Ivy partial compilation mode.
✔ Compiling with Angular sources in Ivy partial compilation mode.
✔ Generating FESM bundles
- Copying assets
✔ Copying assets
- Writing package manifest
ℹ Removing scripts section in package.json as it's considered a potential security vulnerability.
ℹ Removing devDependencies section in package.json.
✔ Writing package manifest
✔ Built aquilacode-api

------------------------------------------------------------------------------
Built Angular Package
 - from: D:\OtherProjects\AquilaCode\openapi\dist
 - to:   D:\OtherProjects\AquilaCode\openapi\dist\dist
------------------------------------------------------------------------------

Build at: 2024-07-24T04:23:05.915Z - Time: 1778ms

[5.2][509][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$cd dist/
total 28K
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:23 api
-rw-r--r-- 1 jacob 197609  684 Jul 23 23:23 api.module.d.ts
-rw-r--r-- 1 jacob 197609 3.9K Jul 23 23:23 configuration.d.ts
-rw-r--r-- 1 jacob 197609  432 Jul 23 23:23 encoder.d.ts
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:23 esm2022
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:23 fesm2022
-rw-r--r-- 1 jacob 197609  192 Jul 23 23:23 index.d.ts
-rw-r--r-- 1 jacob 197609  846 Jul 23 23:23 package.json
-rw-r--r-- 1 jacob 197609 1.4K Jul 23 23:23 param.d.ts
-rw-r--r-- 1 jacob 197609 5.6K Jul 23 23:22 README.md
-rw-r--r-- 1 jacob 197609  272 Jul 23 23:23 variables.d.ts
[5.2][510][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist/dist]
$vi ^C
[5.2][510][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist/dist]
$npm publish dist^C
[5.2][510][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist/dist]
$cd ...
bash: cd: ...: No such file or directory
[5.2][511][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist/dist]
$cd ..
total 213K
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:22 api
-rw-r--r-- 1 jacob 197609 1016 Jul 23 23:22 api.module.ts
-rw-r--r-- 1 jacob 197609 6.2K Jul 23 23:22 configuration.ts
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:23 dist
-rw-r--r-- 1 jacob 197609  555 Jul 23 23:22 encoder.ts
-rwxr-xr-x 1 jacob 197609 1.8K Jul 23 23:22 git_push.sh
-rw-r--r-- 1 jacob 197609  144 Jul 23 23:22 index.ts
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:22 model
-rw-r--r-- 1 jacob 197609  112 Jul 23 23:22 ng-package.json
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:23 node_modules
-rw-r--r-- 1 jacob 197609  854 Jul 23 23:22 package.json
-rw-r--r-- 1 jacob 197609 141K Jul 23 23:22 package-lock.json
-rw-r--r-- 1 jacob 197609 1.4K Jul 23 23:22 param.ts
-rw-r--r-- 1 jacob 197609 5.6K Jul 23 23:22 README.md
-rw-r--r-- 1 jacob 197609  654 Jul 23 23:22 tsconfig.json
-rw-r--r-- 1 jacob 197609  219 Jul 23 23:22 variables.ts
[5.2][512][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$npm publish dist
npm notice
npm notice �  dist@0.1.2
npm notice Tarball Contents
npm notice 13B .npmignore
npm notice 200B HISTORY.md
npm notice 7B README.md
npm notice 1.4kB bin/dist.js
npm notice 1.8kB lib/dist.js
npm notice 602B package.json
npm notice 4.5kB test/dist.test.js
npm notice 89B test/fixtures/copyright.js
npm notice 199B test/fixtures/input.js
npm notice 289B test/fixtures/out/input.copyright.js
npm notice 229B test/fixtures/out/input.copyright.min.js
npm notice 199B test/fixtures/out/input.js
npm notice 139B test/fixtures/out/input.min.js
npm notice 20B test/mocha.opts
npm notice Tarball Details
npm notice name: dist
npm notice version: 0.1.2
npm notice filename: dist-0.1.2.tgz
npm notice package size: 2.7 kB
npm notice unpacked size: 9.7 kB
npm notice shasum: 8898629cc251297e36d1354a9a9598619aba5b1a
npm notice integrity: sha512-TmsZfJybRs3IZ[...]frqZyuqkz/sOQ==
npm notice total files: 14
npm notice
npm error code ENEEDAUTH
npm error need auth This command requires you to be logged in to https://registry.npmjs.org/
npm error need auth You need to authorize this machine using `npm adduser`

npm error A complete log of this run can be found in: C:\Users\jacob\AppData\Local\npm-cache\_logs\2024-07-24T04_24_06_978Z-debug-0.log
[5.2][513][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$npm adduser
npm notice Log in on https://registry.npmjs.org/
Create your account at:
https://www.npmjs.com/login?next=/login/cli/f0a52e41-5119-49bc-a80f-8926ab07c78b

[5.2][514][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$npm login
npm notice Log in on https://registry.npmjs.org/
Login at:
https://www.npmjs.com/login?next=/login/cli/701c8a9e-e5ae-46ea-9c89-c6e02fe47252
Logged in on https://registry.npmjs.org/.
[5.2][515][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$^C
[5.2][515][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$npm publish dist
npm notice
npm notice �  dist@0.1.2
npm notice Tarball Contents
npm notice 13B .npmignore
npm notice 200B HISTORY.md
npm notice 7B README.md
npm notice 1.4kB bin/dist.js
npm notice 1.8kB lib/dist.js
npm notice 602B package.json
npm notice 4.5kB test/dist.test.js
npm notice 89B test/fixtures/copyright.js
npm notice 199B test/fixtures/input.js
npm notice 289B test/fixtures/out/input.copyright.js
npm notice 229B test/fixtures/out/input.copyright.min.js
npm notice 199B test/fixtures/out/input.js
npm notice 139B test/fixtures/out/input.min.js
npm notice 20B test/mocha.opts
npm notice Tarball Details
npm notice name: dist
npm notice version: 0.1.2
npm notice filename: dist-0.1.2.tgz
npm notice package size: 2.7 kB
npm notice unpacked size: 9.7 kB
npm notice shasum: 8898629cc251297e36d1354a9a9598619aba5b1a
npm notice integrity: sha512-TmsZfJybRs3IZ[...]frqZyuqkz/sOQ==
npm notice total files: 14
npm notice
npm notice Publishing to https://registry.npmjs.org/ with tag latest and default access
npm error code E403
npm error 403 403 Forbidden - PUT https://registry.npmjs.org/dist - You do not have permission to publish "dist". Are you logged in as the correct user?
npm error 403 In most cases, you or one of your dependencies are requesting
npm error 403 a package version that is forbidden by your security policy, or
npm error 403 on a server you do not have access to.

npm error A complete log of this run can be found in: C:\Users\jacob\AppData\Local\npm-cache\_logs\2024-07-24T04_25_10_949Z-debug-0.log
[5.2][516][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$npm publish dist^C
[5.2][516][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist]
$cd dist
total 28K
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:23 api
-rw-r--r-- 1 jacob 197609  684 Jul 23 23:23 api.module.d.ts
-rw-r--r-- 1 jacob 197609 3.9K Jul 23 23:23 configuration.d.ts
-rw-r--r-- 1 jacob 197609  432 Jul 23 23:23 encoder.d.ts
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:23 esm2022
drwxr-xr-x 1 jacob 197609    0 Jul 23 23:23 fesm2022
-rw-r--r-- 1 jacob 197609  192 Jul 23 23:23 index.d.ts
-rw-r--r-- 1 jacob 197609  846 Jul 23 23:23 package.json
-rw-r--r-- 1 jacob 197609 1.4K Jul 23 23:23 param.d.ts
-rw-r--r-- 1 jacob 197609 5.6K Jul 23 23:22 README.md
-rw-r--r-- 1 jacob 197609  272 Jul 23 23:23 variables.d.ts
[5.2][517][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist/dist]
$npm publish
npm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run "npm pkg fix" to address these errors.
npm warn publish errors corrected:
npm warn publish Removed invalid "scripts"
npm warn publish "repository.url" was normalized to "git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
npm notice
npm notice �  aquilacode-api@1.0.0
npm notice Tarball Contents
npm notice 5.7kB README.md
npm notice 684B api.module.d.ts
npm notice 187B api/api.d.ts
npm notice 5.4kB api/default.service.d.ts
npm notice 3.9kB configuration.d.ts
npm notice 432B encoder.d.ts
npm notice 4.5kB esm2022/api.module.mjs
npm notice 667B esm2022/api/api.mjs
npm notice 58.3kB esm2022/api/default.service.mjs
npm notice 459B esm2022/aquilacode-api.mjs
npm notice 16.7kB esm2022/configuration.mjs
npm notice 1.8kB esm2022/encoder.mjs
npm notice 698B esm2022/index.mjs
npm notice 2.3kB esm2022/param.mjs
npm notice 1.0kB esm2022/variables.mjs
npm notice 22.5kB fesm2022/aquilacode-api.mjs
npm notice 44.8kB fesm2022/aquilacode-api.mjs.map
npm notice 192B index.d.ts
npm notice 846B package.json
npm notice 1.4kB param.d.ts
npm notice 272B variables.d.ts
npm notice Tarball Details
npm notice name: aquilacode-api
npm notice version: 1.0.0
npm notice filename: aquilacode-api-1.0.0.tgz
npm notice package size: 32.8 kB
npm notice unpacked size: 172.7 kB
npm notice shasum: a862aa8a8b1a783c2dbf06bb599f12912d891e92
npm notice integrity: sha512-9bnA70d1XJ+sD[...]jnkr8aZX8aCJA==
npm notice total files: 21
npm notice
npm notice Publishing to https://registry.npmjs.org/ with tag latest and default access
+ aquilacode-api@1.0.0
[5.2][518][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode/openapi/dist/dist]

Generate angular service using NX

 $nx generate @nx/angular:service aquilacode-api --project=angular-app

 NX  Generating @nx/angular:service

CREATE angular-app/src/app/aquilacode-api.service.spec.ts
CREATE angular-app/src/app/aquilacode-api.service.ts

Added tailwind to angular app using NX

[5.2][516][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$nx g @nx/angular:setup-tailwind angular-app

 NX  Generating @nx/angular:setup-tailwind

UPDATE package.json
CREATE angular-app/tailwind.config.js
UPDATE angular-app/src/styles.css

added 25 packages, removed 2 packages, and audited 1691 packages in 6s

226 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Calling API from angular to get all ships

07/25/2024 progress

Added layout from figma to angular app Have sidebar and maincontent maincontent has a router setup to load whatever we want into it

07/26/2024 progress

Worked on sidebar and maincontents top bar, added animations/translations/transitions, with gradients

07/27/2024 progress

Implemented the buttons on the sidebar, can copy from the one i did now that it works/looks correct Updated main content and top content Generated and added AI art thats animated Fixed/setup some routing"

AWS S3 Screenshots And videos folders (Syncing/Pull/Push to)

The Screenshots for this github and some videos) folder is stored in s3 bucket Pull down from bucket
  aws s3 cp --recursive s3://<bucket>/AquilaCode/Videos AquilaCode/Videos
  aws s3 cp --recursive s3://<bucket>/AquilaCode/Assets AquilaCode/Assets
  aws s3 cp --recursive s3://<bucket>/AquilaCode/Screenshots AquilaCode/Screenshots 
  aws s3 cp --recursive s3://<bucket>/AquilaCode/Secrets AquilaCode/Secrets 
  aws s3 cp --recursive s3://<bucket>/AquilaCode/Tiled AquilaCode/Tiled 

Push to bucket

  aws s3 cp --recursive AquilaCode/Videos s3://<bucket>/AquilaCode/Videos
  aws s3 cp --recursive AquilaCode/Assets s3://<bucket>/AquilaCode/Assets
  aws s3 cp --recursive AquilaCode/Screenshots s3://<bucket>/AquilaCode/Screenshots
  aws s3 cp --recursive AquilaCode/Secrets s3://<bucket>/AquilaCode/Secrets
  aws s3 cp --recursive AquilaCode/Tiled s3://<bucket>/AquilaCode/Tiled

Or just do a sync

  aws s3 sync AquilaCode/Videos s3://<bucket>/AquilaCode/Videos --delete
  aws s3 sync AquilaCode/Assets s3://<bucket>/AquilaCode/Assets --delete
  aws s3 sync AquilaCode/Screenshots s3://<bucket>/AquilaCode/Screenshots --delete
  aws s3 sync AquilaCode/Secrets s3://<bucket>/AquilaCode/Secrets --delete  
  aws s3 sync AquilaCode/Tiled s3://<bucket>/AquilaCode/Tiled --delete  

07/27/2024 progress

07/31/2024 progress

Setup mongodb locally using these youtube tutorials

08/01/2024 progress

Experimenting with docker builds

Generating my angular only image like:

Build the angular image specifically, by passing the angular specific docker file
docker build --no-cache -t aquilacode:angular -f DockerfileAngular .
#Get the image id/name for run command
docker image ls
#Run the angular image in "detached" mode(in the background)
docker run -p 8080:80 -d aquilacode:angular
#Check the processes
docker ps -a
docker ps
#Stop the specific image 
docker stop 374bbd1fb6f0

Generating my nestjs only image like:

Build the nestjs image specifically, by passing the nestjs specific docker file
docker build --no-cache -t aquilacode:nestjs -f DockerfileNest .
docker run -p 8081:3000 -d aquilacode:nestjs

Building the container stack with compose

docker-compose build --no-cache
#start over
docker-compose down
docker-compose rm -f
#start up
docker compose up

08/03/2024 progress

Building angular single so I can easily just test the angular app locally

$docker build --no-cache -t aqsingle:angular -f DockerfileAngular .
$docker-compose -f docker-compose-for-testing-angular.yaml up
#Bring it down when done
$docker-compose -f docker-compose-for-testing-angular.yaml down
#Use docker images and docker rmi to find and remove the images when done
docker images ls
docker rmi e275a057b06b

Building nest single so I can easily just test the angular app locally

$docker build --no-cache -t aqsingle:angular -f DockerfileAngular .
$docker-compose -f docker-compose-for-testing-angular.yaml up
#Bring it down when done
$docker-compose -f docker-compose-for-testing-angular.yaml down
#Use docker images and docker rmi to find and remove the images when done
docker images ls
docker rmi e275a057b06b

#Pushing aquila code frontend to aws ECR

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend
docker tag aquilacode-frontend:latest 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend
docker push 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend

#Pushing aquila code backend to aws ECR

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend
docker tag aquilacode-backend:latest 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend
docker push 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend

#Pushing aquila code mongo to aws ECR

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo
docker tag mongo:latest 721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo
docker push 721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo

#Deploying to aws ecs(full deploy), using docker compose/context

https://docs.compose-x.io/ #Dont use this, it seems really hacky https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Copilot.html https://docs.aws.amazon.com/AmazonECS/latest/developerguide/copilot-deploy.html

Just ended up doing this (Pusing to an ec2 directlry and running docker container there) Its unfortunate that there is no legit service to use your compose/docker files to push to aws and create a cloudformation for you

Had to get docker compose onto the ec2 using this article https://medium.com/@fredmanre/how-to-configure-docker-docker-compose-in-aws-ec2-amazon-linux-2023-ami-ab4d10b2bcdc

#Push all images to aws ECR private registery
#SSH to aws ec2
#Pull images down to docker on ec2
#run docker compose file, docker up command on ec2 using pulled down/updated docker images
#if the docker compose file changes need to update it on the ec2
upload the yaml compose file
[5.2][507][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$scp -i /c/Users/jacob/Downloads/AquilaCodeEc2.pem docker-compose.yaml ec2-user@xxx:/home/ec2-user
The authenticity of host dd can't be established.
This host key is known by the following other names/addresses:
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added xxx () to the list of known hosts.
docker-compose.yaml      

more setup usteps on ec2 had to do this too https://stackoverflow.com/questions/59580136/how-do-i-set-docker-credential-ecr-login-in-my-path-before-anything-else-in-gitl

how to restart linux serviecs https://www.techrepublic.com/article/how-to-start-stop-and-restart-services-in-linux/

[ec2-user@ip- .docker]$ vi ~/.docker/config.json
[ec2-user@ip- .docker]$ history
    1  yum install -y docker
    2  sudo yum install -y docker
    3  su
    4  sudo su -
    5  pwd
    6  ls
    7  docker-compose -f docker-compose.yaml up
    8  sudo docker-compose -f docker-compose.yaml up
    9  aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo
   10  aws configure
   11  aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo
   12  aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend
   13  aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend
   14  sudo docker-compose -f docker-compose.yaml up
   15  docker pull 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend
   16  sudo docker pull 721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend
   17  cat ~/.ecr/log/ecr-login.log
   18  cat .aws/config
   19  ls
   20  which docker
   21  ls -lta
   22  cd .docker/
   23  ls
   24  vi config.json
   25  cat ../.aws/config
   26  cat ../.aws/credentials
   27  sudo yum install amazon-ecr-credential-helper
   28  vi ~/.docker/config.json
   29  history
   sudo service docker restart
[ec2-user@ .docker]$

Connecting to ec2

ssh -i "AEc2.pem" ec2-user@.compute-1.amazonaws.com

More docker setup on the ec2 had to do this https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html docker login aws ecr command

 aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 721233806080.dkr.ecr.us-east-1.amazonaws.com

I had to get on ec2 root to get these commands to work

SCP new docker-compose to ec2

[5.2][500][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$scp -i /c/Users/jacob/Downloads/aq.pem docker-compose.yaml ec2-user@sd:/home/ec2-user
docker-compose.yaml      

Change mongodb admin password

[root@ ec2-user]# docker images
REPOSITORY                                                         TAG       IMAGE ID       CREATED          SIZE
721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend   latest    089ec6a9127f   27 minutes ago   109MB
721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend   <none>    917757f7c122   5 hours ago      109MB
721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend    latest    a9eb2bc75ab6   7 hours ago      962MB
721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo                 latest    a31b196b207d   5 weeks ago      796MB
[root@ ec2-user]# docker-compose down a31b196b207d
no such service: a31b196b207d
[root@ ec2-user]# docker-compose -f docker-compose.yaml up -d
[+] Running 3/3
 ✔ Container mongo                Started                                                                                                                                                        0.4s
 ✔ Container ec2-user-api-1       Started                                                                                                                                                        0.9s
 ✔ Container ec2-user-frontend-1  Started                                                                                                                                                        1.6s
[root@ ec2-user]# docker images
REPOSITORY                                                         TAG       IMAGE ID       CREATED          SIZE
721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend   latest    089ec6a9127f   33 minutes ago   109MB
721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend   <none>    917757f7c122   5 hours ago      109MB
721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend    latest    a9eb2bc75ab6   7 hours ago      962MB
721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo                 latest    a31b196b207d   5 weeks ago      796MB
[root@ ec2-user]# docker ps
CONTAINER ID   IMAGE                                                              COMMAND                  CREATED         STATUS          PORTS                               NAMES
de7494d0aeae   721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend   "/docker-entrypoint.…"   5 minutes ago   Up 23 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   ec2-user-frontend-1
9fc0801263ba   721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend    "docker-entrypoint.s…"   5 minutes ago   Up 24 seconds                                       ec2-user-api-1
8c3b1806d694   721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo                 "docker-entrypoint.s…"   5 minutes ago   Up 24 seconds   27017/tcp                           mongo
[root@ ec2-user]# docker exec -it a31b196b207d bash
Error response from daemon: No such container: a31b196b207d
[root@ ec2-user]# docker exec -it 8c3b1806d694 bash
root@8c3b1806d694:/# mongo admin -u admin -p dfasd
bash: mongo: command not found
root@8c3b1806d694:/# mongosh admin -u admin -p admin
Current Mongosh Log ID: sdafds
Connecting to:          mongodb://<credentials>@adsfs/admin?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.10
Using MongoDB:          7.0.12
Using Mongosh:          2.2.10

For mongosh info see: https://docs.mongodb.com/mongodb-shell/


To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.

------
   The server generated these startup warnings when booting
   2024-08-04T08:06:36.922+00:00: Soft rlimits for open file descriptors too low
------

admin> db.changeUserPassword("admin", "123ddfdfdf")
{ ok: 1 }
admin>
(To exit, press Ctrl+C again or Ctrl+D or type .exit)
admin> exit
root@:/#

containers running

[root@ip- ec2-user]# docker ps
CONTAINER ID   IMAGE                                                              COMMAND                  CREATED          STATUS          PORTS                               NAMES
de7494d0aeae   721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-frontend   "/docker-entrypoint.…"   14 minutes ago   Up 21 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   ec2-user-frontend-1
9fc0801263ba   721233806080.dkr.ecr.us-east-1.amazonaws.com/aquilacode-backend    "docker-entrypoint.s…"   14 minutes ago   Up 21 seconds                                       ec2-user-api-1
8c3b1806d694   721233806080.dkr.ecr.us-east-1.amazonaws.com/mongo                 "docker-entrypoint.s…"   14 minutes ago   Up 22 seconds   27017/tcp                           mongo
[root@ip- ec2-user]#

Simplified local workflow

Build frontened (angular) docker image

Make sure to update the environment/environment.development.ts and environment.ts files set basepath to

  basepath: "http://localhost/backend/aquila",
docker build --no-cache -t aquilacode-frontend:latest -f DockerfileAngular .

Build backend(nestjs) docker image

docker build --no-cache -t aquilacode-backend:latest -f DockerfileNest .

Build the final stack with docker compose up

docker compose up -d

Build frontened (angular)

nx build angular-app
nx serve angular-app

Make sure to update the environment/environment.development.ts and environment.ts files set basepath to

  basepath: "http://localhost:3000/aquila",

Build backend(nestjs) docker image

nx build nest-app
nx serve nest-app

Copy over the database info from docker compose directly into the config/keys.ts nest-app file

  #     DATABASE_URL: mongodb://localhost:27017
  #     DATABASE_NAME: "admin"
  #     DATABASE_USER: "admin"
  #     DATABASE_PASS: "admin"

  # mongoURI: "mongodb://localhost:27017",
  # mongoDbName: "admin",
  # mongoDbUser: "admin",
  # mongoDbPass: "admin",  

Mongodb

docker compose up -d
$docker compose stop
[+] Stopping 1/0
 ✔ Container mongo  Stopped                                                                                                                                                                      0.0s
[5.2][505][jacob@jakesbeastmech][/d/OtherProjects/AquilaCode]
$docker compose up -d
time="2024-08-04T14:50:52-05:00" level=warning msg="Found orphan containers ([aquilacode-frontend-1 aquilacode-api-1]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up."
[+] Running 1/1
 ✔ Container mongo  Started  

Comment out backend and frontend in the docker compose file and then startup mongodb Make sure to forward/export the port in docker compose for mongodb when you run it this way

    ports:
      - "27017:27017"

Attaching to container on ec2 https://phoenixnap.com/kb/how-to-ssh-into-docker-container

[root@dsfdsfd ec2-user]# docker exec -it mongo /bin/bash
root@sdfsdaf6:/#

Then just do Exit to exit

[root@dsfdsfd ec2-user]# docker exec -it ec2-user-api-1 /bin/sh
/AquilaCode #
  1. Overview

    Website is hosted here: A mono repo for a complete application(UI/Backend), using NX, NestJS(W/ Fastify), Angular, OpenAPI3.0

  2. Site on 09/02/2024

    Added: JWT auth guard for all websocket calls, to authenticate jwt token is valid token from auth0 before allowing any websocket traffic Custom socket in angular with authservice auth0 calls to add the jwt token to…

  3. Site on 08/31/2024

    Added sync script to auto sync everything to s3 ./AquilaCode/Secrets/sync.sh Sockets working, have a chat app that is a proof of concept that uses websockets for users to chat with each other/ other connected clients

  4. Site on 08/27/2024

  5. Site on 08/22/2024

    Hosted in the cloud, Okta/Auth0 login/logout functionality (google/facebook... etc), lots of svg animations, apis all hooked up and working and reading from authguard protected endpoints, reading/writing to…

  6. Site on 08/11/2024 - hosted in the cloud now, with Okta/Auth0 login/logout functionality (google/facebook... etc)

  7. Site on 08/09/2024 - hosted in the cloud now

  8. Site on 08/07/2024 - hosted in the cloud now

  9. Site on 08/05/2024 - hosted in the cloud now

  10. Site on 07/27/2024 - locally hosted

    Video created using images from midjourney using genmo Original images I created from midjourney

  11. $${\color{green}Figma \space Designs}$$

  12. $${\color{green}Sample \space Ships \space(Midjourney \space generated)}$$

  13. $${\color{green}BoilerPlate \space NX \space docs \space stuff}$$

    ✨ This workspace has been generated by Nx, Smart Monorepos · Fast CI. ✨

  14. Integrate with editors

    Enhance your Nx experience by installing Nx Console for your favorite editor. Nx Console provides an interactive UI to view your projects, run tasks, generate code, and more! Available for VSCode, IntelliJ and comes…

  15. Nx plugins and code generators

    Add Nx plugins to leverage their code generators and automated, inferred tasks. Run npx nx list to get a list of available plugins and whether they have generators. Then run npx nx list to see what generators are…

  16. Running tasks

    To execute tasks with Nx use the following syntax: You can also run multiple targets: ..or add p to filter specific projects Targets can be defined in the package.json or projects.json . Learn more in the docs.

  17. Set up CI!

    Nx comes with local caching already built in (check your nx.json ). On CI you might want to go a step further. Set up remote caching Set up task distribution across multiple machines Learn more how to setup CI

  18. Explore the project graph

    Run npx nx graph to show the graph of the workspace. It will show tasks that you can run with Nx. Learn more about Exploring the Project Graph

  19. Connect with us!

    Join the community Subscribe to the Nx Youtube Channel Follow us on Twitter

  20. How I generated the SVGs and animations for the site

    SVGs for alot of the buttons and animations + Custom made via generating AI art and converting to svg, using figma/illustrator/inkscape to optimize the svgs and mark id them for use in angular/bindings/animations +…

  21. Configure script to configure things for a specific environment (local(a.k.a dev) or prod currently)

  22. Adding a new controller to nest.js backend app via nx console plugin in visual studio code

  23. 07/21/2024

  24. OpenAPI3.0 spec

  25. Generate client SDK and publish to npm

  26. Calling API from angular to get all ships

  27. 07/25/2024 progress

    Added layout from figma to angular app Have sidebar and maincontent maincontent has a router setup to load whatever we want into it

  28. 07/26/2024 progress

    Worked on sidebar and maincontents top bar, added animations/translations/transitions, with gradients

  29. 07/27/2024 progress

    Implemented the buttons on the sidebar, can copy from the one i did now that it works/looks correct Updated main content and top content Generated and added AI art thats animated Fixed/setup some routing"

  30. AWS S3 Screenshots And videos folders (Syncing/Pull/Push to)

    The Screenshots for this github and some videos) folder is stored in s3 bucket Pull down from bucket Push to bucket Or just do a sync

  31. 07/27/2024 progress

  32. 07/31/2024 progress

    Setup mongodb locally using these youtube tutorials

  33. 08/01/2024 progress

    Experimenting with docker builds Generating my angular only image like: Generating my nestjs only image like: Building the container stack with compose

  34. 08/03/2024 progress

    Building angular single so I can easily just test the angular app locally Building nest single so I can easily just test the angular app locally Pushing aquila code frontend to aws ECR Pushing aquila code backend to…

  35. Simplified local workflow

    Make sure to update the environment/environment.development.ts and environment.ts files set basepath to