blog-systematicdefence-tech/
│
├── app/
│ ├── Models/Comment.php
│ └── Http/Controllers/CommentController.php
│
├── public/
│ ├── images/
│ ├── audio/
│ ├── css/
│ └── js/
│
├── resources/
│ ├── views/
│ │ ├── resilience.blade.php
│ │ ├── professionalism.blade.php
│ │ ├── leadership.blade.php
│ │ ├── ethics.blade.php
│ │ └── components/comments.blade.php
│
├── routes/
│ └── web.php
│
└── .env
2 May 2026 Saturday 21:30 - First local working version of db enabled php Laravel project. It used XAMPP MySQL and Apache. .env had following values:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=blog_systematicdefence_tech
DB_USERNAME=system-developer
DB_PASSWORD=<pwd>
Key commands:
- Create a new project
laravel new <project name>
- Create Entity Framework equivalent Migration code, i.e code for creating db tables
php artisan make:migration create_comments_table
- Create tables (requires working connection to DB)
php artisan migrate
- Generate Entity Framework equivalent code for Comment class
php artisan make:model Comment
- Generate Entity Framework equivalent Controller (EF controller equivalent)
php artisan make:controller CommentController
- How to run app:
php artisan serve2 May 2026 Saturday 23:16: CSS and Images working locally:
- How to run Vite, which renders css:
npm install
npm run dev
- Run XAMPP server locally to start SQL Server
-- Outcome --
css-and-images-working.jpg
2 May 2026 Saturday 23:41: Basic skeleton of application working end to end:
- Verified that comments functionality is working, with recaptchav2.
- Verified that connection to database working via app:
06 May 2026: Added cookbook/MigrateToFastcomet.md
07 May 2026 20:46: Gradle Cucumber test operational. JUnit test not operational.

07 May 2026 21:10: Proof of Concept Cucumber and JUnit tests operational with Gradle.

07 May 2026 21:10: Cucumber and JUnit tests operational with Gradle, for blog application.
Encountered and resolved Gradle quirks, PowerShell quirks, Concordion XML rules, JVM property forwarding, URL normalization, and debugging logic. Evidence of successful operation:
a) Cucumber:
b) Cucumber and Junit
Command used to get result:
- acceptance-tests>gradlew "-DexternalIp=http://127.0.0.1:8000/resilience" "-DtestPhrase=ENGINEERING" testSee also cookbook/GradleCucumberTroubshooting.md
08 May 2026 20:21: Build Number operational.
Also see cookbook/LocalConfigurationmanagement.MD. Setting Build number in build_number.txt to 1.40, so on commit, it will become current.
09 May 2026 12:34: See cookbook/DataDrivenWebsite.md for successful case study of website which is entirely loaded from database at runtime.
09 May 2026 12:34: See cookbook/DataDrivenWebsite.md for extending the DATA DRIVEN WEBSITE SETUP to use 'What You See Is What You Get' (WYSIWYG) editor TinyMCE.
09 May 2026 11:37: Went down the TinyMCE route, but this editor changes a lot via upgrades. I created a create and edit / update page. Build number and image displaying, though had issues in html rendering. I need a stable version of the editor or no editor as I can handle writing HTML at the level I am currently operating. So, commiting progress, and then turning back
10 May 2026 00:54: Data Driven website using default text editor provided by Laravel php - 'Text Area'. Now able to edit, and include audio. Edit page:
Outcome of Edited document - Added Audio
Also see cookbook/LaravelQuirks.md, for the great things I have learnt that Laravel can offer!
12 May 2026 21:54: Payment process is working using Paypal Developer account. Paypal chosed as though it charges more, low PCI standard related maintainance required. Documentation in document 'Deploy- Payment Integration Paypal LARAVEL.doc' Milestones:
1.0 Login working
2.0 Integration with Paypal evidence
3.0 Payment using Paypal- Trasaction succeeded
4.0 CMS Regression
4.1 Resilience Page
4.2 Admin/create
4.3 Admin/edit
13 May 2026 16:50:
a. Homepage ready
b. Dashboard rough plan out.
c. Quick visual checks verified no regression
14 May 2026 06:33: Website operational locally
See 'Deploy- Shop DB and Page Flow Design and Implementation.doc' for details.
14 May 2026 Evening Deployed to Production
15 May 2026 22:00 Using Laravel's Sail package, dockerised application. See .env.docker for sail db connection details. Also, prepared it for Azure Kubernetes (aks) Deployment via creating Azure MySQL flexible server and updating .env with appropriate connection details. Finally added dockerfile for aks. For full steps, see See 'Devsecops-tier4/DEVSECOPS-completion-attemptv1.doc'.
16 May 2026 19:11 PM App is working on Docker containers on DockerDesktop and WSL on windows too. Next step is to take to AKS. To test it on WSL, do the following:
a. Move folder to WSL with copy command
moose@AshwRenuJNitika:/projects/$ rm -rf blog-systematicdefence-tech
moose@AshwRenuJNitika:/projects/$ cp -r /mnt/c/Users/moose/git/blog-systematicdefence-tech .
b. composer dump-autoload
c. docker build -t aks-demo:latest .
d. docker run --rm -p 9000:9000 aks-demo:latest
e. docker ps
f. docker exec -it sh
g. php artisan route:list
![App operational in WSL] (./public/screenshots/AppOperationalInWSL.jpg)
17 May 2026 13:37: Ensure storage/logs exists for Docker. Commit for Azure Kubernetes Service.
17 May 2026 14:28: Fix Laravel directory structure for Docker. Updated .gitignore
17 May 2026 15:23: added --no-plugins flag to 'php artisan config:cache' command, as the dev only packages were tripping build occuring in the production environment. 'npm run dev' handles JavaScript and CSS compilation locally, whereas --no-plugins controls how Laravel's PHP core handles third-party packages inside the Docker container. Hence, the 'npm run dev' cmd for front end assets, will not be affected by change to PHP configuration or Docker Build steps.
Removed package caching from Dockerfile to stop docker build failing because composer install with run with --no-dev flag, and hence the dev packages keep tripping up the build.
Laravel app working locally. Setup to connect to Production database and that has understandably failed due to permission issues.
Laravel app working in containers with Mariadb container and PhpMyAdmin container. Details: a) To start app, run: sudo docker compose down -v sudo docker compose up --build
b) When Launching for first time, after app up, run: docker exec -it systematicdefence-app sh php artisan migrate
21 May 10:47 PM: Preparation for merge with GitHub repository.
Merging with branch from Production Main branch, after successful pull.
















