├── jmeter
├── results
│ └── ms-sb-272.java-8.csv
├── jmoutput-2023-06-20-13-27-20
│ ├── sbadmin2-1.0.7
│ │ ├── less
│ │ │ ├── mixins.less
│ │ │ └── variables.less
│ │ ├── bower_components
│ │ │ ├── flot
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── component.json
│ │ │ │ ├── package.json
│ │ │ │ ├── Makefile
│ │ │ │ ├── .bower.json
│ │ │ │ └── flot.jquery.json
│ │ │ ├── font-awesome
│ │ │ │ ├── less
│ │ │ │ │ ├── extras.less
│ │ │ │ │ ├── fixed-width.less
│ │ │ │ │ ├── bordered-pulled.less
│ │ │ │ │ ├── larger.less
│ │ │ │ │ ├── list.less
│ │ │ │ │ ├── core.less
│ │ │ │ │ ├── font-awesome.less
│ │ │ │ │ ├── stacked.less
│ │ │ │ │ ├── spinning.less
│ │ │ │ │ ├── rotated-flipped.less
│ │ │ │ │ ├── path.less
│ │ │ │ │ └── mixins.less
│ │ │ │ ├── scss
│ │ │ │ │ ├── _fixed-width.scss
│ │ │ │ │ ├── _bordered-pulled.scss
│ │ │ │ │ ├── _larger.scss
│ │ │ │ │ ├── _core.scss
│ │ │ │ │ ├── _list.scss
│ │ │ │ │ ├── font-awesome.scss
│ │ │ │ │ ├── _stacked.scss
│ │ │ │ │ ├── _spinning.scss
│ │ │ │ │ ├── _path.scss
│ │ │ │ │ ├── _rotated-flipped.scss
│ │ │ │ │ ├── _mixins.scss
│ │ │ │ │ └── _extras.scss
│ │ │ │ ├── fonts
│ │ │ │ │ ├── FontAwesome.otf
│ │ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ │ └── fontawesome-webfont.woff
│ │ │ │ ├── bower.json
│ │ │ │ ├── .npmignore
│ │ │ │ └── .bower.json
│ │ │ ├── bootstrap
│ │ │ │ ├── dist
│ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ │ └── .bower.json
│ │ │ ├── flot.tooltip
│ │ │ │ ├── bower.json
│ │ │ │ └── .bower.json
│ │ │ ├── flot-axislabels
│ │ │ │ └── .bower.json
│ │ │ ├── jquery
│ │ │ │ ├── bower.json
│ │ │ │ └── .bower.json
│ │ │ └── metisMenu
│ │ │ │ ├── dist
│ │ │ │ └── metisMenu.min.css
│ │ │ │ └── .bower.json
│ │ ├── bower.json
│ │ ├── dist
│ │ │ └── js
│ │ │ │ └── sb-admin-2.js
│ │ └── README.md
│ ├── content
│ │ ├── pages
│ │ │ └── icon-apache.png
│ │ └── css
│ │ │ ├── dashboard.css
│ │ │ └── legends.css
│ └── statistics.json
├── diagrams
│ ├── Jmeter-Run.jpg
│ └── Jmeter-Result.png
├── run
└── README.MD
├── src
├── docker
│ ├── mock-service.cid.old
│ ├── ms-cache-service.cid.old
│ ├── startService
│ ├── push
│ ├── stats
│ ├── shell
│ ├── scan
│ ├── shellrun
│ ├── stop
│ ├── logs
│ ├── README.MD
│ ├── build
│ ├── start
│ ├── application-prod.properties
│ ├── application-staging.properties
│ ├── application-dev.properties
│ └── Dockerfile
└── main
│ ├── resources
│ ├── static
│ │ ├── images
│ │ │ ├── user-icon.png
│ │ │ ├── user-icon-fe.png
│ │ │ ├── user-icon-ma.png
│ │ │ └── index.html
│ │ ├── data
│ │ │ ├── ml
│ │ │ │ └── mnist
│ │ │ │ │ ├── mnist-image-0.jpeg
│ │ │ │ │ ├── mnist-image-1.jpeg
│ │ │ │ │ ├── mnist-image-2.jpeg
│ │ │ │ │ ├── mnist-image-3.jpeg
│ │ │ │ │ ├── mnist-image-4.jpeg
│ │ │ │ │ ├── mnist-image-5.jpeg
│ │ │ │ │ ├── mnist-image-6.jpeg
│ │ │ │ │ ├── mnist-image-7.jpeg
│ │ │ │ │ ├── mnist-image-8.jpeg
│ │ │ │ │ └── mnist-image-9.jpeg
│ │ │ ├── docs
│ │ │ │ ├── Patient_Report_Emily_Davis.docx
│ │ │ │ ├── Patient_Report_James_Markov.docx
│ │ │ │ ├── Patient_Report_Jane_Smith.docx
│ │ │ │ ├── Patient_Report_Robert_Brown.docx
│ │ │ │ ├── Patient_Report_Alice_Johnson.docx
│ │ │ │ ├── Patient_Report_Michael_Wilson.docx
│ │ │ │ ├── Patient_Report_Olivia_Anderson.docx
│ │ │ │ ├── Patient_Report_William_Martinez.docx
│ │ │ │ ├── Patient_Diagnosis_Report_Akiera_Kiera.docx
│ │ │ │ └── Patient_Diagnosis_Report_Jane_Susan_Wood.docx
│ │ │ └── health
│ │ │ │ ├── Patient_Report_Olivia_Anderson.txt
│ │ │ │ ├── Patient_Report_Jane_Smith.txt
│ │ │ │ ├── Patient_Report_Emily_Davis.txt
│ │ │ │ ├── Patient_Report_Alice_Johnson.txt
│ │ │ │ ├── Patient_Report_William_Martinez.txt
│ │ │ │ ├── Patient_Report_Michael_Wilson.txt
│ │ │ │ ├── Patient_Report_Robert_Brown.txt
│ │ │ │ └── Patient_Report_James_Markov.txt
│ │ ├── files
│ │ │ ├── error.html
│ │ │ └── index.html
│ │ └── videos
│ │ │ └── index.html
│ ├── app.props.build
│ ├── logback-spring-scope.xml
│ ├── data-trans.sql
│ ├── application-prod.properties
│ ├── application-staging.properties
│ ├── logback-spring-appenders-json-logstash.xml
│ ├── application-dev.properties
│ └── logback-spring.xml
│ └── java
│ └── io
│ └── fusion
│ └── air
│ └── microservice
│ ├── ai
│ ├── ml
│ │ └── nn
│ │ │ └── rnn
│ │ │ └── _01_SentimentAnalysis_Example.java
│ └── genai
│ │ ├── core
│ │ ├── models
│ │ │ ├── Sentiment.java
│ │ │ └── CustomerServiceCategory.java
│ │ ├── assistants
│ │ │ ├── PatientDataExtractorAssistant.java
│ │ │ ├── Assistant.java
│ │ │ ├── ChefAssistant.java
│ │ │ └── SentimentAssistant.java
│ │ ├── tools
│ │ │ ├── DateTimeTool.java
│ │ │ └── CalculatorTool.java
│ │ └── prompts
│ │ │ └── StructuredPromptFeelings.java
│ │ └── examples
│ │ ├── llama
│ │ └── _01_Hello_World.java
│ │ ├── qwen
│ │ └── _01_Hello_World.java
│ │ ├── phi
│ │ └── _01_Hello_World.java
│ │ ├── gemma
│ │ └── _01_Hello_World.java
│ │ ├── mistral
│ │ └── _01_Hello_World.java
│ │ ├── falcon
│ │ └── _01_Hello_World.java
│ │ └── palm
│ │ └── _01_Hello_World.java
│ ├── domain
│ ├── ports
│ │ ├── services
│ │ │ ├── CountryService.java
│ │ │ ├── AppService.java
│ │ │ └── ChatMessageService.java
│ │ └── controllers
│ │ │ ├── PaymentController.java
│ │ │ └── ProductController.java
│ ├── events
│ │ └── AppEvent.java
│ ├── models
│ │ ├── example
│ │ │ ├── CardType.java
│ │ │ └── PaymentType.java
│ │ └── core
│ │ │ └── StandardResponse.java
│ └── exceptions
│ │ ├── StreamException.java
│ │ ├── ResourceNotFoundException.java
│ │ ├── InputDataException.java
│ │ ├── InvalidInputException.java
│ │ ├── MessagingException.java
│ │ ├── UnableToSaveException.java
│ │ ├── DuplicateDataException.java
│ │ ├── DataNotFoundException.java
│ │ ├── AuthorizationException.java
│ │ ├── LimitExceededException.java
│ │ ├── JWTUnDefinedException.java
│ │ ├── JWTTokenExpiredException.java
│ │ ├── JWTTokenSubjectException.java
│ │ ├── JWTInvalidSignatureException.java
│ │ ├── DataVersionMismatchException.java
│ │ ├── JWTTokenExtractionException.java
│ │ └── MandatoryDataRequiredException.java
│ ├── server
│ ├── config
│ │ ├── WebConfiguration.java
│ │ ├── WebServerConfig.java
│ │ └── CacheDefaultConfig.java
│ └── service
│ │ ├── examples
│ │ ├── EchoService.java
│ │ ├── EchoAppService.java
│ │ └── EchoSessionService.java
│ │ └── ServletInitializer.java
│ ├── adapters
│ ├── security
│ │ ├── jwt
│ │ │ ├── ValidateRefreshToken.java
│ │ │ ├── AuthorizationRequired.java
│ │ │ └── SingleTokenAuthorizationRequired.java
│ │ ├── core
│ │ │ └── UserRole.java
│ │ └── service
│ │ │ └── UserDetailsServiceImpl.java
│ └── repository
│ │ └── CountryRepository.java
│ └── utils
│ └── DateJsonSerializer.java
├── database
├── importdb
├── exportdb
└── README.md
├── loc
├── diagrams
├── Password-Gen.jpg
├── ai
│ ├── AI-Models.jpg
│ ├── AI-Models.png
│ ├── Ai-Prompt.jpg
│ ├── Ai-Ollama-llms.jpg
│ ├── Ai-Ex-RAG-OZO-1.jpg
│ ├── Ai-Ex-RAG-OZO-2.jpg
│ ├── Ai-Ex-RAG-OZO-3.jpg
│ ├── Ai-Ex-Sentiment-2.jpg
│ ├── Ai-Ex-Sentiment.jpg
│ ├── Ai-Ex-DataExtractor.jpg
│ ├── code
│ │ ├── Ai-Code-CLM-1.jpg
│ │ ├── Ai-Code-CLM-2.jpg
│ │ ├── Ai-Code-CLM-3.jpg
│ │ ├── Ai-Code-CLM-4.jpg
│ │ ├── Ai-Code-Assistant.jpg
│ │ ├── Ai-Code-Config-1.jpg
│ │ ├── Ai-Code-Config-2.jpg
│ │ ├── Ai-Code-Config-3.jpg
│ │ ├── Ai-Code-Config-4.jpg
│ │ ├── Ai-Code-Assistant-2.jpg
│ │ ├── Ai-Code-Assistant-3.jpg
│ │ ├── Ai-Code-Image-Model.jpg
│ │ ├── Ai-Code-Moderation-Model.jpg
│ │ ├── Ai-Code-Assistant-Langauge.jpg
│ │ ├── Ai-Code-Assistant-Moderate.jpg
│ │ ├── Ai-Code-Assistant-Sentiment.jpg
│ │ ├── Ai-Code-Assistant-Health-Care.jpg
│ │ ├── Ai-Code-Assistant-Langauge-2.jpg
│ │ ├── Ai-Code-Assistant-Data-Extractor.jpg
│ │ ├── Ai-Code-Assistant-Chef-Restaurant.jpg
│ │ ├── Ai-Code-Assistant-Model-Extractor.jpg
│ │ └── Ai-Code-Assistant-Car-Rental-Service.jpg
│ ├── diagrams
│ │ ├── Ai-Code-Base.jpg
│ │ ├── Ai-RAG-Architecture.jpg
│ │ └── Ai-Case-Study-Architecture.jpg
│ ├── Ai-Ex-Content-Moderation.jpg
│ ├── architecture
│ │ └── Ai-Transformer-Arch.jpg
│ ├── ai-senti-2.txt
│ └── ai-senti-1.txt
├── MS-Run-Result.jpg
├── code
│ ├── MS-Logging.png
│ ├── MS-Filters-1.png
│ ├── MS-Exceptions-1.png
│ ├── MS-Security-1.png
│ ├── MS-Security-2.png
│ ├── MS-Security-JWT-0.png
│ ├── MS-Security-JWT-1.png
│ ├── MS-Security-JWT-2.png
│ ├── MS-Security-JWT-4.png
│ ├── MS-Security-JWT-5.png
│ ├── MS-Filters-2-Security.png
│ ├── MS-Filters-3-Security.png
│ ├── MS-Exceptions-2-Security.png
│ ├── MS-Exceptions-3-Database.png
│ ├── MS-Exceptions-4-Database.png
│ ├── MS-Security-JWT-Create-1.png
│ ├── MS-Security-JWT-Create-2.png
│ ├── MS-Security-JWT-Create-3.png
│ ├── MS-Security-Validations-1.png
│ ├── MS-Security-Validations-2.png
│ ├── MS-Security-Validations-3.png
│ └── MS-Exceptions-5-Business-Controller.png
├── MS-Pkg-Structure.jpg
├── MS-Property-File.jpg
├── MS-Cache-Swagger-UI.jpg
├── log
│ ├── Log-Messages-1.jpg
│ └── Log-Messages-2.jpg
├── ms-cache-code-base.jpg
├── crud
│ ├── crud-9-db-records.jpg
│ ├── crud-1-get-fallback.jpg
│ ├── crud-2-post-prod-1-A.jpg
│ ├── crud-2-post-prod-1-B.jpg
│ ├── crud-3-post-prod-2.jpg
│ ├── crud-4-post-prod-3.jpg
│ ├── crud-5-get-from-db.jpg
│ ├── crud-6-get-from-db.jpg
│ ├── crud-8-put-deactivate.jpg
│ ├── crud-7-put-update-price.jpg
│ ├── crud-error-1-post-invalid-input-A.jpg
│ ├── crud-error-1-post-invalid-input-B.jpg
│ ├── crud-error-2-post-invalid-input-A.jpg
│ ├── crud-error-2-post-invalid-input-B.jpg
│ └── crud-error-3-post-Version-Mismatch-B.jpg
├── langchain4j-components.jpg
├── langchain4j-components.png
├── tokens
│ ├── MS-JWT-Tx-Token.png
│ ├── MS-JWT-Auth-Token.png
│ └── MS-JWT-Refresh-Token.png
├── Import-API-Into-Postman-1.jpg
├── Import-API-Into-Postman-3.jpg
├── Import-API-into-Postman-0.jpg
├── Import-API-into-Postman-2.jpg
├── encrypt
│ ├── Security-H2-psd.jpg
│ ├── Security-Encryption-pro.jpg
│ └── Security-PostgreSQL-psd.jpg
├── ms-cache-with-Test-Tokens.jpg
├── ms-cache-with-Test-Tokens-2.jpg
└── ms-cache-with-Test-Tokens-3.jpg
├── downloaded_image-conf.jpg
├── multi-user-chat-memory.db
├── llms
├── llama3
├── mistral
└── README.md
├── publicKey.pem
├── decrypt
├── logback-spring-scope.xml
├── jenkinsfile
├── testTokens
├── run
├── encrypt
├── application-prod.properties
├── application-staging.properties
├── .gitignore
├── getServiceName
├── logback-spring-appenders-json-logstash.xml
├── application-dev.properties
└── generateBuildNumber
/jmeter/results/ms-sb-272.java-8.csv:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/docker/mock-service.cid.old:
--------------------------------------------------------------------------------
1 | 4b9869772370
2 |
--------------------------------------------------------------------------------
/src/docker/ms-cache-service.cid.old:
--------------------------------------------------------------------------------
1 | ff0f2f5f3c91
2 |
--------------------------------------------------------------------------------
/database/importdb:
--------------------------------------------------------------------------------
1 | psql -h localhost -p 5433 ai_324 < ai-sb324.sql
2 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 |
--------------------------------------------------------------------------------
/loc:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # cloc is a Mac OS Utility
3 | echo 'cloc src'
4 | cloc src
5 |
--------------------------------------------------------------------------------
/database/exportdb:
--------------------------------------------------------------------------------
1 | pg_dump -U postgres -h localhost -p 5433 -d ai_324 -n ms_schema > ai-sb324-new.sql
2 |
--------------------------------------------------------------------------------
/src/docker/startService:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo "Starting the MicroService"
3 | java -jar *spring-bbot.jar
4 |
--------------------------------------------------------------------------------
/diagrams/Password-Gen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/Password-Gen.jpg
--------------------------------------------------------------------------------
/diagrams/ai/AI-Models.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/AI-Models.jpg
--------------------------------------------------------------------------------
/diagrams/ai/AI-Models.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/AI-Models.png
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Prompt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Prompt.jpg
--------------------------------------------------------------------------------
/downloaded_image-conf.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/downloaded_image-conf.jpg
--------------------------------------------------------------------------------
/multi-user-chat-memory.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/multi-user-chat-memory.db
--------------------------------------------------------------------------------
/diagrams/MS-Run-Result.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/MS-Run-Result.jpg
--------------------------------------------------------------------------------
/diagrams/code/MS-Logging.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Logging.png
--------------------------------------------------------------------------------
/diagrams/MS-Pkg-Structure.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/MS-Pkg-Structure.jpg
--------------------------------------------------------------------------------
/diagrams/MS-Property-File.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/MS-Property-File.jpg
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Ollama-llms.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Ollama-llms.jpg
--------------------------------------------------------------------------------
/diagrams/code/MS-Filters-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Filters-1.png
--------------------------------------------------------------------------------
/jmeter/diagrams/Jmeter-Run.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/diagrams/Jmeter-Run.jpg
--------------------------------------------------------------------------------
/diagrams/MS-Cache-Swagger-UI.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/MS-Cache-Swagger-UI.jpg
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Ex-RAG-OZO-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Ex-RAG-OZO-1.jpg
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Ex-RAG-OZO-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Ex-RAG-OZO-2.jpg
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Ex-RAG-OZO-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Ex-RAG-OZO-3.jpg
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Ex-Sentiment-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Ex-Sentiment-2.jpg
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Ex-Sentiment.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Ex-Sentiment.jpg
--------------------------------------------------------------------------------
/diagrams/code/MS-Exceptions-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Exceptions-1.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-1.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-2.png
--------------------------------------------------------------------------------
/diagrams/log/Log-Messages-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/log/Log-Messages-1.jpg
--------------------------------------------------------------------------------
/diagrams/log/Log-Messages-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/log/Log-Messages-2.jpg
--------------------------------------------------------------------------------
/diagrams/ms-cache-code-base.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ms-cache-code-base.jpg
--------------------------------------------------------------------------------
/jmeter/diagrams/Jmeter-Result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/diagrams/Jmeter-Result.png
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Ex-DataExtractor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Ex-DataExtractor.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-CLM-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-CLM-1.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-CLM-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-CLM-2.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-CLM-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-CLM-3.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-CLM-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-CLM-4.jpg
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-JWT-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-JWT-0.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-JWT-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-JWT-1.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-JWT-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-JWT-2.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-JWT-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-JWT-4.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-JWT-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-JWT-5.png
--------------------------------------------------------------------------------
/diagrams/crud/crud-9-db-records.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-9-db-records.jpg
--------------------------------------------------------------------------------
/diagrams/langchain4j-components.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/langchain4j-components.jpg
--------------------------------------------------------------------------------
/diagrams/langchain4j-components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/langchain4j-components.png
--------------------------------------------------------------------------------
/diagrams/tokens/MS-JWT-Tx-Token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/tokens/MS-JWT-Tx-Token.png
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.8
4 |
--------------------------------------------------------------------------------
/diagrams/Import-API-Into-Postman-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/Import-API-Into-Postman-1.jpg
--------------------------------------------------------------------------------
/diagrams/Import-API-Into-Postman-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/Import-API-Into-Postman-3.jpg
--------------------------------------------------------------------------------
/diagrams/Import-API-into-Postman-0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/Import-API-into-Postman-0.jpg
--------------------------------------------------------------------------------
/diagrams/Import-API-into-Postman-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/Import-API-into-Postman-2.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Config-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Config-1.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Config-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Config-2.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Config-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Config-3.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Config-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Config-4.jpg
--------------------------------------------------------------------------------
/diagrams/ai/diagrams/Ai-Code-Base.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/diagrams/Ai-Code-Base.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-1-get-fallback.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-1-get-fallback.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-2-post-prod-1-A.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-2-post-prod-1-A.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-2-post-prod-1-B.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-2-post-prod-1-B.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-3-post-prod-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-3-post-prod-2.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-4-post-prod-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-4-post-prod-3.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-5-get-from-db.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-5-get-from-db.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-6-get-from-db.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-6-get-from-db.jpg
--------------------------------------------------------------------------------
/diagrams/encrypt/Security-H2-psd.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/encrypt/Security-H2-psd.jpg
--------------------------------------------------------------------------------
/diagrams/ms-cache-with-Test-Tokens.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ms-cache-with-Test-Tokens.jpg
--------------------------------------------------------------------------------
/diagrams/tokens/MS-JWT-Auth-Token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/tokens/MS-JWT-Auth-Token.png
--------------------------------------------------------------------------------
/diagrams/ai/Ai-Ex-Content-Moderation.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/Ai-Ex-Content-Moderation.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-2.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-3.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Image-Model.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Image-Model.jpg
--------------------------------------------------------------------------------
/diagrams/code/MS-Filters-2-Security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Filters-2-Security.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Filters-3-Security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Filters-3-Security.png
--------------------------------------------------------------------------------
/diagrams/crud/crud-8-put-deactivate.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-8-put-deactivate.jpg
--------------------------------------------------------------------------------
/diagrams/ms-cache-with-Test-Tokens-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ms-cache-with-Test-Tokens-2.jpg
--------------------------------------------------------------------------------
/diagrams/ms-cache-with-Test-Tokens-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ms-cache-with-Test-Tokens-3.jpg
--------------------------------------------------------------------------------
/diagrams/tokens/MS-JWT-Refresh-Token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/tokens/MS-JWT-Refresh-Token.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Exceptions-2-Security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Exceptions-2-Security.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Exceptions-3-Database.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Exceptions-3-Database.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Exceptions-4-Database.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Exceptions-4-Database.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-JWT-Create-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-JWT-Create-1.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-JWT-Create-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-JWT-Create-2.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-JWT-Create-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-JWT-Create-3.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-Validations-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-Validations-1.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-Validations-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-Validations-2.png
--------------------------------------------------------------------------------
/diagrams/code/MS-Security-Validations-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Security-Validations-3.png
--------------------------------------------------------------------------------
/diagrams/crud/crud-7-put-update-price.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-7-put-update-price.jpg
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/extras.less:
--------------------------------------------------------------------------------
1 | // Extras
2 | // --------------------------
3 |
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Moderation-Model.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Moderation-Model.jpg
--------------------------------------------------------------------------------
/diagrams/ai/diagrams/Ai-RAG-Architecture.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/diagrams/Ai-RAG-Architecture.jpg
--------------------------------------------------------------------------------
/diagrams/encrypt/Security-Encryption-pro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/encrypt/Security-Encryption-pro.jpg
--------------------------------------------------------------------------------
/diagrams/encrypt/Security-PostgreSQL-psd.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/encrypt/Security-PostgreSQL-psd.jpg
--------------------------------------------------------------------------------
/diagrams/ai/architecture/Ai-Transformer-Arch.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/architecture/Ai-Transformer-Arch.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Langauge.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Langauge.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Moderate.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Moderate.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Sentiment.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Sentiment.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/images/user-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/images/user-icon.png
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Health-Care.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Health-Care.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Langauge-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Langauge-2.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/images/user-icon-fe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/images/user-icon-fe.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/user-icon-ma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/images/user-icon-ma.png
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Data-Extractor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Data-Extractor.jpg
--------------------------------------------------------------------------------
/diagrams/ai/diagrams/Ai-Case-Study-Architecture.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/diagrams/Ai-Case-Study-Architecture.jpg
--------------------------------------------------------------------------------
/diagrams/code/MS-Exceptions-5-Business-Controller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/code/MS-Exceptions-5-Business-Controller.png
--------------------------------------------------------------------------------
/diagrams/crud/crud-error-1-post-invalid-input-A.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-error-1-post-invalid-input-A.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-error-1-post-invalid-input-B.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-error-1-post-invalid-input-B.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-error-2-post-invalid-input-A.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-error-2-post-invalid-input-A.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-error-2-post-invalid-input-B.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-error-2-post-invalid-input-B.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Chef-Restaurant.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Chef-Restaurant.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Model-Extractor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Model-Extractor.jpg
--------------------------------------------------------------------------------
/diagrams/crud/crud-error-3-post-Version-Mismatch-B.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/crud/crud-error-3-post-Version-Mismatch-B.jpg
--------------------------------------------------------------------------------
/diagrams/ai/code/Ai-Code-Assistant-Car-Rental-Service.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/diagrams/ai/code/Ai-Code-Assistant-Car-Rental-Service.jpg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-0.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-0.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-1.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-2.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-3.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-4.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-5.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-5.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-6.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-6.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-7.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-7.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-8.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-8.jpeg
--------------------------------------------------------------------------------
/src/main/resources/static/data/ml/mnist/mnist-image-9.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/ml/mnist/mnist-image-9.jpeg
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/content/pages/icon-apache.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/content/pages/icon-apache.png
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Report_Emily_Davis.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Report_Emily_Davis.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Report_James_Markov.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Report_James_Markov.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Report_Jane_Smith.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Report_Jane_Smith.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Report_Robert_Brown.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Report_Robert_Brown.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Report_Alice_Johnson.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Report_Alice_Johnson.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Report_Michael_Wilson.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Report_Michael_Wilson.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Report_Olivia_Anderson.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Report_Olivia_Anderson.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Report_William_Martinez.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Report_William_Martinez.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Diagnosis_Report_Akiera_Kiera.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Diagnosis_Report_Akiera_Kiera.docx
--------------------------------------------------------------------------------
/src/main/resources/static/data/docs/Patient_Diagnosis_Report_Jane_Susan_Wood.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/src/main/resources/static/data/docs/Patient_Diagnosis_Report_Jane_Susan_Wood.docx
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Flot",
3 | "version": "0.8.3",
4 | "main": "jquery.flot.js",
5 | "dependencies": {
6 | "jquery": ">= 1.2.6"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/main/resources/app.props.build:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai-GenAI Service Properties
3 | # =======================================================================
4 | build.number=258
5 | build.date=Wed Jan 8 00:15:14 IST 2025
6 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Flot",
3 | "version": "0.8.3",
4 | "main": "jquery.flot.js",
5 | "scripts": {
6 | "test": "make test"
7 | },
8 | "devDependencies": {
9 | "jshint": "0.9.1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arafkarsh/ms-springboot-ai/HEAD/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/llms/llama3:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | echo Starting Llama3 Server...
6 | ollama run llama3
7 |
--------------------------------------------------------------------------------
/llms/mistral:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | echo Starting Mistral Server...
6 | ollama run mistral
7 |
--------------------------------------------------------------------------------
/src/main/resources/static/files/error.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Service Error Page
6 |
7 |
8 | Service Error Page
9 | Error Code: 404
10 | Error Desc: Resource NOT FOUND
11 |
12 |
--------------------------------------------------------------------------------
/src/main/resources/static/files/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Service Standard Page
6 |
7 |
8 | Service Standard Page - Files
9 | Error Code: 404
10 | Error Desc: Resource NOT FOUND
11 |
12 |
--------------------------------------------------------------------------------
/src/main/resources/static/images/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Service Standard Page
6 |
7 |
8 | Service Standard Page - Images
9 | Error Code: 404
10 | Error Desc: Resource NOT FOUND
11 |
12 |
--------------------------------------------------------------------------------
/src/main/resources/static/videos/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Service Standard Page
6 |
7 |
8 | Service Standard Page - Videos and other Resources
9 | Error Code: 404
10 | Error Desc: Resource NOT FOUND
11 |
12 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot.tooltip/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "flot.tooltip",
3 | "version": "0.7.1",
4 | "main": "js/jquery.flot.tooltip.js",
5 | "ignore": [
6 | ".gitignore",
7 | "Gruntfile.js",
8 | "README.md",
9 | "package.json",
10 | "examples",
11 | "js/old"
12 | ]
13 | }
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot/Makefile:
--------------------------------------------------------------------------------
1 | # Makefile for generating minified files
2 |
3 | .PHONY: all
4 |
5 | # we cheat and process all .js files instead of an exhaustive list
6 | all: $(patsubst %.js,%.min.js,$(filter-out %.min.js,$(wildcard *.js)))
7 |
8 | %.min.js: %.js
9 | yui-compressor $< -o $@
10 |
11 | test:
12 | ./node_modules/.bin/jshint *jquery.flot.js
13 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/less/variables.less:
--------------------------------------------------------------------------------
1 | // Variables
2 |
3 | @gray-darker: lighten(#000, 13.5%);
4 | @gray-dark: lighten(#000, 20%);
5 | @gray: lighten(#000, 33.5%);
6 | @gray-light: lighten(#000, 60%);
7 | @gray-lighter: lighten(#000, 93.5%);
8 | @gray-lightest: lighten(#000, 97.25%);
9 | @brand-primary: #428bca;
10 | @brand-success: #5cb85c;
11 | @brand-info: #5bc0de;
12 | @brand-warning: #f0ad4e;
13 | @brand-danger: #d9534f;
14 |
15 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/ml/nn/rnn/_01_SentimentAnalysis_Example.java:
--------------------------------------------------------------------------------
1 | package io.fusion.air.microservice.ai.ml.nn.rnn;
2 |
3 | import io.fusion.air.microservice.utils.Std;
4 |
5 | /**
6 | * @author: Araf Karsh Hamid
7 | * @version:
8 | * @date:
9 | */
10 | public class _01_SentimentAnalysis_Example {
11 |
12 | public static void main(String[] args) {
13 | Std.println("Sentiment Analysis Example... ");
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/static/data/health/Patient_Report_Olivia_Anderson.txt:
--------------------------------------------------------------------------------
1 | Patient Diagnosis Report
Patient Information
Patient-Name: Olivia Anderson
Patient-ID: 300100210
Gender: Female
Age: 34
Date of Birth: May 7, 1990
Chronic Conditions: Multiple Sclerosis
Diagnosis 1
Date: 2017-04-25
Diagnosis: Multiple sclerosis with muscle weakness and fatigue
Lab Reports:
- MRI showing demyelination
- Elevated CSF protein
Prescriptions (Medications):
- Interferon beta-1a
- Physical therapy
- Vitamin D supplements
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .pull-right { float: right; }
11 | .pull-left { float: left; }
12 |
13 | .@{fa-css-prefix} {
14 | &.pull-left { margin-right: .3em; }
15 | &.pull-right { margin-left: .3em; }
16 | }
17 |
--------------------------------------------------------------------------------
/publicKey.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PUBLIC KEY-----
2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuMe7lt33gNnyyjLMXzG/
3 | mglX62JR1nEVfkh9Wfn4HBDvZVnWAm05wYim0aWSgdsqrX2glPT8RXzcv3TuHqEx
4 | MjiwFLVHRovO2Ne9JNukCvfo/XqPI6pa75MWFZLPlE006nMJaN5i0ZIBtr8KKsfO
5 | +oTHr/QLsqjB+x8lig1cvKIcwXA+7ZkYr9qlhDtM0TeaUYHlodJVXCnyLKquqzTB
6 | sodKj+Mkt7lSsKAVF/5fPTidAeR7rQarChLicgkTlpVu0xxGbgi4m7BLVFEb6Ku5
7 | a0uzk8S9Xwowd1IothE9EabqwMPB9H30zBijVmPAjTsZoIfdl/JuFKh3EjDANkBG
8 | NwIDAQAB
9 | -----END RSA PUBLIC KEY-----
10 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .pull-right { float: right; }
11 | .pull-left { float: left; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.pull-left { margin-right: .3em; }
15 | &.pull-right { margin-left: .3em; }
16 | }
17 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/ports/services/CountryService.java:
--------------------------------------------------------------------------------
1 | package io.fusion.air.microservice.domain.ports.services;
2 |
3 | import io.fusion.air.microservice.domain.entities.example.CountryEntity;
4 | import java.util.List;
5 |
6 | /**
7 | * @author: Araf Karsh Hamid
8 | * @version:
9 | * @date:
10 | */
11 | public interface CountryService {
12 |
13 | /**
14 | * Returns all the Countryy
15 | * @return
16 | */
17 | public List getAllCountries();
18 | }
19 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot-axislabels/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "flot-axislabels",
3 | "homepage": "https://github.com/markrcote/flot-axislabels",
4 | "_release": "a181e09d04",
5 | "_resolution": {
6 | "type": "branch",
7 | "branch": "master",
8 | "commit": "a181e09d04d120d05e5bc2baaa8738b5b3670428"
9 | },
10 | "_source": "git://github.com/markrcote/flot-axislabels.git",
11 | "_target": "*",
12 | "_originalSource": "flot-axislabels",
13 | "_direct": true
14 | }
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | }
12 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | }
12 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "spinning";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Flot",
3 | "version": "0.8.3",
4 | "main": "jquery.flot.js",
5 | "dependencies": {
6 | "jquery": ">= 1.2.6"
7 | },
8 | "homepage": "https://github.com/flot/flot",
9 | "_release": "0.8.3",
10 | "_resolution": {
11 | "type": "version",
12 | "tag": "v0.8.3",
13 | "commit": "453b017cc5acfd75e252b93e8635f57f4196d45d"
14 | },
15 | "_source": "git://github.com/flot/flot.git",
16 | "_target": "~0.8.3",
17 | "_originalSource": "flot",
18 | "_direct": true
19 | }
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "font-awesome",
3 | "description": "Font Awesome",
4 | "version": "4.2.0",
5 | "keywords": [],
6 | "homepage": "http://fontawesome.io",
7 | "dependencies": {},
8 | "devDependencies": {},
9 | "license": ["OFL-1.1", "MIT", "CC-BY-3.0"],
10 | "main": [
11 | "./css/font-awesome.css",
12 | "./fonts/*"
13 | ],
14 | "ignore": [
15 | "*/.*",
16 | "*.json",
17 | "src",
18 | "*.yml",
19 | "Gemfile",
20 | "Gemfile.lock",
21 | "*.md"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/jmeter/run:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | ct=$(date +"%Y-%m-%d-%H-%M-%S")
6 | tc=ms-sb-272-j8.jmx
7 | rf=ms-sb-272-j8-$ct.jtl
8 | rd=jmoutput-$ct
9 |
10 | echo "Starting JMeter tests for Order Service"
11 | echo "JMeter Test Case = $tc"
12 | echo "Jmeter Test Log (jtl) = $rf"
13 | echo "Results Folder = $rd"
14 | echo "jmeter -n -t $tc -l $rf -e -o $rd"
15 | jmeter -n -t $tc -l $rf -e -o $rd
16 |
17 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/events/AppEvent.java:
--------------------------------------------------------------------------------
1 | package io.fusion.air.microservice.domain.events;
2 |
3 | import java.time.LocalDateTime;
4 |
5 | /**
6 | * App Event
7 | *
8 | * @author arafkarsh
9 | */
10 | public class AppEvent {
11 |
12 | private String id;
13 | private String name;
14 | private LocalDateTime eventTime;
15 |
16 | public String getId() {
17 | return id;
18 | }
19 |
20 | public String getName() {
21 | return name;
22 | }
23 |
24 | public LocalDateTime getEventTime() {
25 | return eventTime;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/resources/static/data/health/Patient_Report_Jane_Smith.txt:
--------------------------------------------------------------------------------
1 | Patient Diagnosis Report
Patient Information
Patient-Name: Jane Smith
Patient-ID: 300100204
Gender: Female
Age: 37
Date of Birth: August 20, 1986
Chronic Conditions: Thyroid Disorder
Diagnosis 1
Date: 2020-05-12
Diagnosis: Hypothyroidism with fatigue and weight gain
Lab Reports:
- Elevated TSH levels
- Low T4 levels
Prescriptions (Medications):
- Levothyroxine 75mcg daily
Diagnosis 2
Date: 2021-12-09
Diagnosis: Anemia with fatigue and pallor
Lab Reports:
- Low hemoglobin levels
- Low hematocrit
Prescriptions (Medications):
- Iron supplements
- Diet modification
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "spinning.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/jquery/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "version": "2.1.3",
4 | "main": "dist/jquery.js",
5 | "license": "MIT",
6 | "ignore": [
7 | "**/.*",
8 | "build",
9 | "speed",
10 | "test",
11 | "*.md",
12 | "AUTHORS.txt",
13 | "Gruntfile.js",
14 | "package.json"
15 | ],
16 | "devDependencies": {
17 | "sizzle": "2.1.1-jquery.2.1.2",
18 | "requirejs": "2.1.10",
19 | "qunit": "1.14.0",
20 | "sinon": "1.8.1"
21 | },
22 | "keywords": [
23 | "jquery",
24 | "javascript",
25 | "library"
26 | ]
27 | }
28 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/decrypt:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid, (c) Copyright 2024
4 | # -------------------------------------------------------------------------------------------
5 | jasypt=libs/jasypt-1.9.3.jar
6 | # Name of the environment variable
7 | ENV_VAR="JASYPT_ENCRYPTOR_PASSWORD"
8 |
9 | # For Java 17+
10 | echo Using Java 17+ Comptible code for Decryption
11 | java -cp $jasypt src/main/java/io/fusion/air/microservice/security/utils/Decrypt17.java $1 $2
12 |
13 | # For Java 23
14 | #echo Java 23 Comptible Code
15 | #java --enable-preview -cp $jasypt Decrypt.java $1 $2
16 |
--------------------------------------------------------------------------------
/logback-spring-scope.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/main/resources/static/data/health/Patient_Report_Emily_Davis.txt:
--------------------------------------------------------------------------------
1 | Patient Diagnosis Report
Patient Information
Patient-Name: Emily Davis
Patient-ID: 300100207
Gender: Female
Age: 42
Date of Birth: June 15, 1981
Chronic Conditions: Rheumatoid Arthritis
Diagnosis 1
Date: 2018-09-28
Diagnosis: Rheumatoid arthritis with joint pain and stiffness
Lab Reports:
- Positive rheumatoid factor
- Elevated ESR
Prescriptions (Medications):
- Methotrexate 15mg weekly
- NSAIDs as needed
Diagnosis 2
Date: 2023-01-15
Diagnosis: Osteoporosis with low bone density
Lab Reports:
- Low DEXA scan results
- Normal calcium levels
Prescriptions (Medications):
- Calcium supplements
- Vitamin D 2000 IU daily
--------------------------------------------------------------------------------
/src/main/resources/static/data/health/Patient_Report_Alice_Johnson.txt:
--------------------------------------------------------------------------------
1 | Patient Diagnosis Report
Patient Information
Patient-Name: Alice Johnson
Patient-ID: 300100205
Gender: Female
Age: 29
Date of Birth: January 5, 1995
Chronic Conditions: PCOS
Diagnosis 1
Date: 2019-06-14
Diagnosis: PCOS with irregular periods and acne
Lab Reports:
- Elevated testosterone levels
- Polycystic ovaries on ultrasound
Prescriptions (Medications):
- Metformin 500mg twice daily
- Birth control pills
Diagnosis 2
Date: 2021-02-03
Diagnosis: Anxiety with symptoms of restlessness and worry
Lab Reports:
- Normal TSH levels
- Normal CBC
Prescriptions (Medications):
- Sertraline 50mg daily
- Cognitive behavioral therapy
--------------------------------------------------------------------------------
/src/main/resources/static/data/health/Patient_Report_William_Martinez.txt:
--------------------------------------------------------------------------------
1 | Patient Diagnosis Report
Patient Information
Patient-Name: William Martinez
Patient-ID: 300100209
Gender: Male
Age: 47
Date of Birth: December 25, 1976
Chronic Conditions: Chronic Kidney Disease
Diagnosis 1
Date: 2020-02-14
Diagnosis: Chronic kidney disease with reduced kidney function
Lab Reports:
- Elevated creatinine levels
- Low GFR
Prescriptions (Medications):
- ACE inhibitors
- Diet modification
- Fluid restriction
Diagnosis 2
Date: 2023-06-29
Diagnosis: Anemia with fatigue and pallor
Lab Reports:
- Low hemoglobin levels
- Low hematocrit
Prescriptions (Medications):
- Iron supplements
- Erythropoietin injections
--------------------------------------------------------------------------------
/src/main/resources/logback-spring-scope.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/main/resources/static/data/health/Patient_Report_Michael_Wilson.txt:
--------------------------------------------------------------------------------
1 | Patient Diagnosis Report
Patient Information
Patient-Name: Michael Wilson
Patient-ID: 300100208
Gender: Male
Age: 56
Date of Birth: April 10, 1968
Chronic Conditions: Type 2 Diabetes
Diagnosis 1
Date: 2019-07-23
Diagnosis: Type 2 Diabetes with elevated blood sugar
Lab Reports:
- Elevated HbA1c
- High fasting glucose
Prescriptions (Medications):
- Metformin 1000mg twice daily
- Diet modification
- Exercise
Diagnosis 2
Date: 2021-11-19
Diagnosis: Hypertension with elevated blood pressure
Lab Reports:
- Blood pressure: 145/85 mmHg
- Normal kidney function
Prescriptions (Medications):
- Amlodipine 5mg daily
- Diet modification
- Exercise
--------------------------------------------------------------------------------
/src/main/resources/static/data/health/Patient_Report_Robert_Brown.txt:
--------------------------------------------------------------------------------
1 | Patient Diagnosis Report
Patient Information
Patient-Name: Robert Brown
Patient-ID: 300100206
Gender: Male
Age: 65
Date of Birth: October 2, 1958
Chronic Conditions: Coronary Artery Disease
Diagnosis 1
Date: 2020-11-11
Diagnosis: Coronary artery disease with chest pain
Lab Reports:
- Elevated troponin levels
- Abnormal ECG
Prescriptions (Medications):
- Aspirin 81mg daily
- Atorvastatin 20mg daily
- Nitroglycerin as needed
Diagnosis 2
Date: 2022-08-22
Diagnosis: Gout with joint pain and swelling
Lab Reports:
- Elevated uric acid levels
- Normal kidney function
Prescriptions (Medications):
- Allopurinol 100mg daily
- Colchicine 0.6mg as needed
--------------------------------------------------------------------------------
/jenkinsfile:
--------------------------------------------------------------------------------
1 | pipeline {
2 | agent any
3 |
4 | stages {
5 | stage('Build') {
6 | steps {
7 | echo 'Checkout the App'
8 | checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[url: 'https://github.com/MetaArivu/microservice-template.git']]])
9 | echo 'Build the App'
10 | sh 'compile'
11 | }
12 | }
13 | stage('Test') {
14 | steps {
15 | echo 'Test the App'
16 | }
17 | }
18 | stage('Staging') {
19 | steps {
20 | echo 'Deploy the App in Staging'
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/.npmignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.egg-info
3 | *.db
4 | *.db.old
5 | *.swp
6 | *.db-journal
7 |
8 | .coverage
9 | .DS_Store
10 | .installed.cfg
11 | _gh_pages/*
12 |
13 | .idea/*
14 | .svn/*
15 | src/website/static/*
16 | src/website/media/*
17 |
18 | bin
19 | cfcache
20 | develop-eggs
21 | dist
22 | downloads
23 | eggs
24 | parts
25 | tmp
26 | .sass-cache
27 | node_modules
28 |
29 | src/website/settingslocal.py
30 | stunnel.log
31 |
32 | .ruby-version
33 |
34 | # don't need these in the npm package.
35 | src/
36 | _config.yml
37 | bower.json
38 | component.json
39 | composer.json
40 | CONTRIBUTING.md
41 | Gemfile
42 | Gemfile.lock
43 |
--------------------------------------------------------------------------------
/src/docker/push:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Push Container
6 | # -------------------------------------------------------------------------------------------
7 | ORG=$1
8 | SERVICE=$2
9 | if test "$#" -lt 1; then
10 | echo "Extracting ORG and Service Names..."
11 | # Get the Org Name and Container Name from Properties file
12 | cd ../../
13 | ORG=`getServiceName 1`
14 | SERVICE=`getServiceName 4`
15 | cd src/docker
16 | fi
17 | echo "docker push $ORG/$SERVICE"
18 | docker push $ORG/$SERVICE
19 |
--------------------------------------------------------------------------------
/src/docker/stats:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Container Stats (CPU, Memory)
6 | # -------------------------------------------------------------------------------------------
7 | ORG=$1
8 | SERVICE=$2
9 | if test "$#" -lt 1; then
10 | echo "Extracting ORG and Service Names..."
11 | # Get the Org Name and Container Name from Properties file
12 | cd ../../
13 | ORG=`getServiceName 1`
14 | SERVICE=`getServiceName 4`
15 | cd src/docker
16 | fi
17 | CID=`cat $SERVICE.cid`
18 | docker stats $CID
19 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot.tooltip/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "flot.tooltip",
3 | "version": "0.8.4",
4 | "main": "js/jquery.flot.tooltip.js",
5 | "ignore": [
6 | ".gitignore",
7 | "Gruntfile.js",
8 | "README.md",
9 | "package.json",
10 | "examples",
11 | "js/old"
12 | ],
13 | "homepage": "https://github.com/krzysu/flot.tooltip",
14 | "_release": "0.8.4",
15 | "_resolution": {
16 | "type": "version",
17 | "tag": "0.8.4",
18 | "commit": "312a7570f6dfeff00d9c0ce6f6263160b84ee652"
19 | },
20 | "_source": "git://github.com/krzysu/flot.tooltip.git",
21 | "_target": "~0.8.4",
22 | "_originalSource": "flot.tooltip",
23 | "_direct": true
24 | }
--------------------------------------------------------------------------------
/src/docker/shell:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Shell Container
6 | # -------------------------------------------------------------------------------------------
7 | ORG=$1
8 | SERVICE=$2
9 | if test "$#" -lt 1; then
10 | echo "Extracting ORG and Service Names..."
11 | # Get the Org Name and Container Name from Properties file
12 | cd ../../
13 | ORG=`getServiceName 1`
14 | SERVICE=`getServiceName 4`
15 | cd src/docker
16 | fi
17 | echo "docker container exec -it $SERVICE bash"
18 | docker container exec -it $SERVICE bash
19 |
--------------------------------------------------------------------------------
/src/docker/scan:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Scan Container for Vulnerabilities
6 | # -------------------------------------------------------------------------------------------
7 | ORG=$1
8 | SERVICE=$2
9 | if test "$#" -lt 1; then
10 | echo "Extracting ORG and Service Names..."
11 | # Get the Org Name and Container Name from Properties file
12 | cd ../../
13 | ORG=`getServiceName 1`
14 | SERVICE=`getServiceName 4`
15 | cd src/docker
16 | fi
17 | echo "Scanning $SERVICE for vulnerabilities"
18 | docker scan $ORG/$SERVICE
19 |
--------------------------------------------------------------------------------
/database/README.md:
--------------------------------------------------------------------------------
1 | # Setup the PostgreSQL Database
2 |
3 | ## 1. Connect to the Database Server (PostgreSQL)
4 |
5 | ```
6 | psql -h -p -U postgres
7 | ```
8 |
9 | ## 2. Create the database
10 | ```
11 | CREATE DATABASE mydatabase;
12 | ```
13 |
14 | ## 3. List all the databases
15 | ```
16 | \l
17 | ```
18 |
19 | ## 4. Create DB User with Password
20 | ```
21 | CREATE USER myuser WITH PASSWORD 'mypassword';
22 | ```
23 |
24 | ## 5. Grant Access to the Database
25 | ```
26 | GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
27 | ```
28 | ## 6. Change Database Ownership
29 | ```
30 | ALTER DATABASE mydatabase OWNER TO myuser;
31 | ```
32 |
33 | ## 7. Quit the DB command line prompt
34 | ```
35 | \q
36 | ```
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/docker/shellrun:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Shell Container
6 | # -------------------------------------------------------------------------------------------
7 | ORG=$1
8 | SERVICE=$2
9 | if test "$#" -lt 1; then
10 | echo "Extracting ORG and Service Names..."
11 | # Get the Org Name and Container Name from Properties file
12 | cd ../../
13 | ORG=`getServiceName 1`
14 | SERVICE=`getServiceName 4`
15 | cd src/docker
16 | fi
17 | echo "docker container run -it $ORG/$SERVICE bash"
18 | docker container run -it $ORG/$SERVICE bash
19 |
--------------------------------------------------------------------------------
/src/docker/stop:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Stop Container
6 | # -------------------------------------------------------------------------------------------
7 | ORG=$1
8 | SERVICE=$2
9 | if test "$#" -lt 1; then
10 | echo "Extracting ORG and Service Names..."
11 | # Get the Org Name and Container Name from Properties file
12 | cd ../../
13 | ORG=`getServiceName 1`
14 | SERVICE=`getServiceName 4`
15 | cd src/docker
16 | fi
17 | echo "docker container stop $SERVICE"
18 | docker container stop $SERVICE
19 | mv $SERVICE.cid $SERVICE.cid.old
20 |
--------------------------------------------------------------------------------
/src/docker/logs:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Check Container Logs
6 | # -------------------------------------------------------------------------------------------
7 | ORG=$1
8 | SERVICE=$2
9 | if test "$#" -lt 1; then
10 | echo "Extracting ORG and Service Names..."
11 | # Get the Org Name and Container Name from Properties file
12 | cd ../../
13 | ORG=`getServiceName 1`
14 | SERVICE=`getServiceName 4`
15 | cd src/docker
16 | fi
17 | CID=`cat $SERVICE.cid`
18 | echo "Checking logs for Container = $SERVICE and Container ID = $CID"
19 | docker logs $CID
20 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/spinning.less:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | @-webkit-keyframes fa-spin {
10 | 0% {
11 | -webkit-transform: rotate(0deg);
12 | transform: rotate(0deg);
13 | }
14 | 100% {
15 | -webkit-transform: rotate(359deg);
16 | transform: rotate(359deg);
17 | }
18 | }
19 |
20 | @keyframes fa-spin {
21 | 0% {
22 | -webkit-transform: rotate(0deg);
23 | transform: rotate(0deg);
24 | }
25 | 100% {
26 | -webkit-transform: rotate(359deg);
27 | transform: rotate(359deg);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_spinning.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | @-webkit-keyframes fa-spin {
10 | 0% {
11 | -webkit-transform: rotate(0deg);
12 | transform: rotate(0deg);
13 | }
14 | 100% {
15 | -webkit-transform: rotate(359deg);
16 | transform: rotate(359deg);
17 | }
18 | }
19 |
20 | @keyframes fa-spin {
21 | 0% {
22 | -webkit-transform: rotate(0deg);
23 | transform: rotate(0deg);
24 | }
25 | 100% {
26 | -webkit-transform: rotate(359deg);
27 | transform: rotate(359deg);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
9 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
10 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
12 | font-weight: normal;
13 | font-style: normal;
14 | }
15 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
12 | font-weight: normal;
13 | font-style: normal;
14 | }
15 |
--------------------------------------------------------------------------------
/testTokens:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | curl -X 'GET' \
3 | 'http://localhost:9090/ms-cache/api/v1/tokens/refresh' \
4 | -H 'accept: application/json' \
5 | -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJhdWQiOiJNUy1DYWNoZSIsImp0aSI6IjY1NTEwY2I0LTc3NDctNDFhOS1hN2MwLWRiZWI4MDdhOTkyMCIsInJvbCI6IlVzZXIiLCJkaWQiOiJEZXZpY2UgSUQiLCJzdWIiOiJqYW5lLmRvZSIsImlzcyI6Im1ldGFtYWdpYyIsImlhdCI6MTY2MDkxMjM2MSwiZXhwIjoxNjYwOTE0MTYxfQ.2nk4p7IBbJ07tLA_-WE_GLmooGYiBExNsCNoVD47A9rtUM82LOPnA-OzOzLqirTT5Wmjanle9DHQJa_Zh7gRRA' \
6 | -H 'Refresh-Token: Bearer eyJhbGciOiJIUzUxMiJ9.eyJhdWQiOiJNUy1DYWNoZSIsImp0aSI6ImVjOWVkNTYzLTZjYTYtNDM5MS1hMWI3LTRjZDg3Y2EwY2NhNSIsInJvbCI6IlVzZXIiLCJkaWQiOiJEZXZpY2UgSUQiLCJzdWIiOiJqYW5lLmRvZSIsImlzcyI6Im1ldGFtYWdpYyIsImlhdCI6MTY2MDkxMzIyNiwiZXhwIjoxNjYwOTE1MDI2fQ.GA60_pKqsggQIt2FZzkt2NIIMs34re2Fkh6wkJ91Tk9m5tzSvnvwd_U0qTxMLOsVmFO1B3sJUqA1hy7040OkxQ'
7 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/resources/data-trans.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO country_m (id, countryId, countryCode, countryName, countryOfficialName) VALUES (1, 1, 'USA', 'America', 'United States of America');
2 | INSERT INTO country_m (id, countryId, countryCode, countryName, countryOfficialName) VALUES (2, 250, 'FRA', 'France', 'The French Republic');
3 | INSERT INTO country_m (id, countryId, countryCode, countryName, countryOfficialName) VALUES (3, 76, 'BRA', 'Brazil', 'The Federative Republic of Brazil');
4 | INSERT INTO country_m (id, countryId, countryCode, countryName, countryOfficialName) VALUES (4, 380, 'ITA', 'Italy', 'Italy');
5 | INSERT INTO country_m (id, countryId, countryCode, countryName, countryOfficialName) VALUES (5, 380, 'IND', 'India', 'Republic of India');
6 | INSERT INTO country_m (id, countryId, countryCode, countryName, countryOfficialName) VALUES (6, 124, 'CAN', 'Canada', 'Canada');
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/metisMenu/dist/metisMenu.min.css:
--------------------------------------------------------------------------------
1 | /*
2 | * metismenu - v1.1.3
3 | * Easy menu jQuery plugin for Twitter Bootstrap 3
4 | * https://github.com/onokumus/metisMenu
5 | *
6 | * Made by Osman Nuri Okumus
7 | * Under MIT License
8 | */
9 |
10 | .arrow{float:right;line-height:1.42857}.glyphicon.arrow:before{content:"\e079"}.active>a>.glyphicon.arrow:before{content:"\e114"}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.plus-times{float:right}.fa.plus-times:before{content:"\f067"}.active>a>.fa.plus-times{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.plus-minus{float:right}.fa.plus-minus:before{content:"\f067"}.active>a>.fa.plus-minus:before{content:"\f068"}
--------------------------------------------------------------------------------
/src/docker/README.MD:
--------------------------------------------------------------------------------
1 | # Create Docker Container
2 |
3 | ## Step 1 - Verify Container Name and Org Name
4 |
5 | 1. Verify the Org Name in src/main/resources/app.props.tmpl file (service.org)
6 | 2. Verify the container name in src/main/resources/app.props.tmpl file (service.container)
7 | 3. Verify the microservice name in src/main/resources/app.props.tmpl file (service.api.name)
8 |
9 | ## Step 2 - Build the image
10 |
11 | 1. build (Build the Container)
12 | 2. scan (Scan the container for vulnerabilities)
13 |
14 | ## Step 3 - Test the image
15 |
16 | 1. start (Start the Container)
17 | 2. logs (to view the container logs) - Wait for the Container to Startup
18 | 3. Check the URL in a Browser
19 |
20 | ## Step 4 - Push the image to Cloud Repo
21 |
22 | 1. push (Push the image to Cloud)
23 |
24 | ## Other Commands
25 |
26 | 1. stop (Stop the Container)
27 | 2. stats (show container stats)
28 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/ports/services/AppService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.ports.services;
17 |
18 | /**
19 | * App Service
20 | *
21 | * @author arafkarsh
22 | */
23 | public interface AppService {
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/resources/static/data/health/Patient_Report_James_Markov.txt:
--------------------------------------------------------------------------------
1 | Patient Diagnosis Report
Patient Information
Patient-Name: James Markov
Patient-ID: 300100203
Gender: Male
Age: 50
Date of Birth: March 14, 1974
Chronic Conditions: Hypertension, Asthma
Diagnosis 1
Date: 2021-03-22
Diagnosis: Hypertension with elevated blood pressure
Lab Reports:
- Blood pressure: 150/90 mmHg
- Elevated cholesterol levels
Prescriptions (Medications):
- Lisinopril 10mg daily
- Diet modification
- Exercise
Diagnosis 2
Date: 2022-11-05
Diagnosis: Asthma with wheezing and shortness of breath
Lab Reports:
- Normal spirometry
- Elevated eosinophil count
Prescriptions (Medications):
- Albuterol inhaler as needed
- Montelukast 10mg daily
Diagnosis 3
Date: 2023-07-18
Diagnosis: Common cold with cough and nasal congestion
Lab Reports:
- Negative for influenza
- Normal WBC count
Prescriptions (Medications):
- Rest
- Hydration
- Over-the-counter cold medication
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/ports/controllers/PaymentController.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.ports.controllers;
17 |
18 | /**
19 | * App Controller
20 | *
21 | * @author arafkarsh
22 | */
23 | public interface PaymentController {
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/ports/controllers/ProductController.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.ports.controllers;
17 |
18 | /**
19 | * App Controller
20 | *
21 | * @author arafkarsh
22 | */
23 | public interface ProductController {
24 | }
25 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "font-awesome",
3 | "description": "Font Awesome",
4 | "version": "4.2.0",
5 | "keywords": [],
6 | "homepage": "http://fontawesome.io",
7 | "dependencies": {},
8 | "devDependencies": {},
9 | "license": [
10 | "OFL-1.1",
11 | "MIT",
12 | "CC-BY-3.0"
13 | ],
14 | "main": [
15 | "./css/font-awesome.css",
16 | "./fonts/*"
17 | ],
18 | "ignore": [
19 | "*/.*",
20 | "*.json",
21 | "src",
22 | "*.yml",
23 | "Gemfile",
24 | "Gemfile.lock",
25 | "*.md"
26 | ],
27 | "_release": "4.2.0",
28 | "_resolution": {
29 | "type": "version",
30 | "tag": "v4.2.0",
31 | "commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74"
32 | },
33 | "_source": "git://github.com/FortAwesome/Font-Awesome.git",
34 | "_target": "~4.2.0",
35 | "_originalSource": "font-awesome"
36 | }
--------------------------------------------------------------------------------
/run:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | echo "Starting `getServiceName` Microservice"
6 | export JDK_JAVA_OPTIONS="--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED"
7 | runMode=$1
8 | # Check if the runMode is null or not one of "dev", "prod", or "staging"
9 | if [[ -z $runMode || ($runMode != "dev" && $runMode != "prod" && $runMode != "staging") ]]
10 | then
11 | runMode="dev"
12 | fi
13 | echo "App running with profile = $runMode"
14 |
15 | # Run Maven Command
16 | # mvn spring-boot:run -Dspring-boot.run.profiles=$runMode
17 |
18 | # Run Java command
19 | echo "java -jar target/ai-service-*-spring-boot.jar --spring.profiles.active=$runMode"
20 | java -jar target/ai-service-*-spring-boot.jar --spring.profiles.active=$runMode
21 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/jquery/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "version": "2.1.3",
4 | "main": "dist/jquery.js",
5 | "license": "MIT",
6 | "ignore": [
7 | "**/.*",
8 | "build",
9 | "speed",
10 | "test",
11 | "*.md",
12 | "AUTHORS.txt",
13 | "Gruntfile.js",
14 | "package.json"
15 | ],
16 | "devDependencies": {
17 | "sizzle": "2.1.1-jquery.2.1.2",
18 | "requirejs": "2.1.10",
19 | "qunit": "1.14.0",
20 | "sinon": "1.8.1"
21 | },
22 | "keywords": [
23 | "jquery",
24 | "javascript",
25 | "library"
26 | ],
27 | "homepage": "https://github.com/jquery/jquery",
28 | "_release": "2.1.3",
29 | "_resolution": {
30 | "type": "version",
31 | "tag": "2.1.3",
32 | "commit": "8f2a9d9272d6ed7f32d3a484740ab342c02541e0"
33 | },
34 | "_source": "git://github.com/jquery/jquery.git",
35 | "_target": ">= 1.9.1",
36 | "_originalSource": "jquery"
37 | }
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/models/Sentiment.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.models;
17 |
18 | /**
19 | * @author: Araf Karsh Hamid
20 | * @version:
21 | * @date:
22 | */
23 | public enum Sentiment {
24 |
25 | POSITIVE,
26 | NEUTRAL,
27 | NEGATIVE;
28 | }
29 |
--------------------------------------------------------------------------------
/src/docker/build:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Build Container
6 | # -------------------------------------------------------------------------------------------
7 | ORG=$1
8 | SERVICE=$2
9 | if test "$#" -lt 1; then
10 | echo "Extracting ORG and Service Names..."
11 | # Get the Org Name and Container Name from Properties file
12 | cd ../../
13 | ORG=`getServiceName 1`
14 | SERVICE=`getServiceName 4`
15 | cd src/docker
16 | fi
17 | echo "Building Containr for $ORG/$SERVICE ......."
18 | # Replace Mock Service Container name with actual Container name
19 | cp Dockerfile-r Dockerfile
20 | sed -i -r "s/mock-service/$SERVICE/g" Dockerfile
21 | # Build Container
22 | echo "docker build --force-rm -f Dockerfile -t $ORG/$SERVICE . "
23 | docker build --force-rm -f Dockerfile -t $ORG/$SERVICE .
24 | cd ../../
25 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/flot/flot.jquery.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "flot",
3 | "version": "0.8.3",
4 | "title": "Flot",
5 | "author": {
6 | "name": "Ole Laursen",
7 | "url": "https://github.com/OleLaursen"
8 | },
9 | "licenses": [{
10 | "type": "MIT",
11 | "url": "http://github.com/flot/flot/blob/master/LICENSE.txt"
12 | }],
13 | "dependencies": {
14 | "jquery": ">=1.2.6"
15 | },
16 | "description": "Flot is a pure JavaScript plotting library for jQuery, with a focus on simple usage, attractive looks and interactive features.",
17 | "keywords": ["plot", "chart", "graph", "visualization", "canvas", "graphics"],
18 | "homepage": "http://www.flotcharts.org",
19 | "docs": "http://github.com/flot/flot/blob/master/API.md",
20 | "demo": "http://www.flotcharts.org/flot/examples/",
21 | "bugs": "http://github.com/flot/flot/issues",
22 | "maintainers": [{
23 | "name": "David Schnur",
24 | "email": "dnschnur@gmail.com",
25 | "url": "http://github.com/dnschnur"
26 | }]
27 | }
28 |
--------------------------------------------------------------------------------
/diagrams/ai/ai-senti-2.txt:
--------------------------------------------------------------------------------
1 |
2 | --[Human]----------------------------------------------------------
3 | The movie was quite engaging, although the songs were somewhat
4 | lackluster. Nevertheless, the background score and choreography
5 | significantly enhanced the musical sequences, making up for the
6 | shortcomings. Overall, the experience was not that bad.
7 |
8 | --[HAL9000]-------------------------------------------------------
9 |
10 | Rating of the content = NEUTRAL
11 | Is Sentiment Positive? = Yes
12 | Feeling: Neutral
13 |
14 | Key points:
15 | Engaging movie, lackluster songs, enhanced by background score
16 | and choreography
17 |
18 | Explanation:
19 | The movie was able to hold the viewer's attention, despite the
20 | songs being somewhat disappointing. However, the background score
21 | and choreography added value to the musical sequences, balancing out
22 | the weaknesses. Overall, the experience was not negative, but it was
23 | not exceptional either.
24 | -------------------------------------------------------------------
25 |
26 |
--------------------------------------------------------------------------------
/diagrams/ai/ai-senti-1.txt:
--------------------------------------------------------------------------------
1 |
2 | --[Human]----------------------------------------------------------
3 |
4 | The movie was quite engaging, although the songs were somewhat
5 | lackluster. Nevertheless, the background score and choreography
6 | significantly enhanced the musical sequences, making up for the
7 | shortcomings. Overall, the experience was not that bad.
8 |
9 | --[HAL9000]-------------------------------------------------------
10 |
11 | Rating of the content = NEUTRAL
12 | Is Sentiment Positive? = Yes
13 | Feeling: Neutral
14 |
15 | Key points:
16 | Engaging movie, lackluster songs, enhanced by background score
17 | and choreography
18 |
19 | Explanation:
20 | The movie was able to hold the viewer's attention, despite the
21 | songs being somewhat disappointing. However, the background score
22 | and choreography added value to the musical sequences, balancing
23 | out the weaknesses. Overall, the experience was not negative, but
24 | it was not exceptional either.
25 | -------------------------------------------------------------------
26 |
27 |
--------------------------------------------------------------------------------
/encrypt:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid, (c) Copyright 2024
4 | # -------------------------------------------------------------------------------------------
5 | jasypt=libs/jasypt-1.9.3.jar
6 | # Name of the environment variable
7 | ENV_VAR="JASYPT_ENCRYPTOR_PASSWORD"
8 |
9 | # For Java 17+
10 | echo Using Java 17+ Comptible code
11 | java -cp $jasypt src/main/java/io/fusion/air/microservice/security/utils/Encrypt17.java $1 $2
12 |
13 | # For Java 23
14 | #echo Java 23 Comptible Code
15 | #java --enable-preview -cp $jasypt Encrypt.java $1 $2
16 |
17 | # Check if the second argument ($2) is provided and valid (not empty)
18 | if [ -n "$2" ]; then
19 | # Check if the environment variable is set
20 | if [ -z "${!ENV_VAR}" ]; then
21 | echo "Environment variable $ENV_VAR is not set."
22 | echo "Setting it to: $2"
23 | export $ENV_VAR="$2"
24 | else
25 | echo "Environment variable $ENV_VAR is already set"
26 | fi
27 | fi
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/server/config/WebConfiguration.java:
--------------------------------------------------------------------------------
1 | package io.fusion.air.microservice.server.config;
2 |
3 | import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
4 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
5 |
6 | /**
7 | * This configuration is required to support Springboot 2.7.x to 3.x migration
8 | * Trailing Slash Matching Configuration
9 | *
10 | * Now the “GET /api/v1/todos/name/” doesn’t match anymore by default and will result in an HTTP 404 error.
11 | *
12 | * We can enable the trailing slash matching for all the endpoints by defining a new configuration class that
13 | * implements WebMvcConfigurer or WebFluxConfigurer (in case it's a reactive service):
14 | *
15 | * @author: Araf Karsh Hamid
16 | * @version:
17 | * @date:
18 | */
19 | public class WebConfiguration implements WebMvcConfigurer {
20 |
21 | @Override
22 | public void configurePathMatch(PathMatchConfigurer configurer) {
23 | configurer.setUseTrailingSlashMatch(true);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "startbootstrap-sb-admin-2",
3 | "version": "1.0.7",
4 | "homepage": "http://startbootstrap.com/template-overviews/sb-admin-2/",
5 | "authors": [
6 | "David Miller"
7 | ],
8 | "description": "A free, open source, Bootstrap admin theme created by Start Bootstrap",
9 | "keywords": [
10 | "bootstrap",
11 | "theme"
12 | ],
13 | "license": "Apache",
14 | "ignore": [
15 | "**/.*",
16 | "node_modules",
17 | "bower_components",
18 | "test",
19 | "tests",
20 | "pages",
21 | "index.html",
22 | "/js"
23 | ],
24 | "main": [
25 | "dist/css/sb-admin-2.css",
26 | "dist/js/sb-admin-2.js"
27 | ],
28 | "dependencies": {
29 | "bootstrap": "~3.3.1",
30 | "datatables": "~1.10.4",
31 | "datatables-plugins": "~1.0.1",
32 | "flot": "~0.8.3",
33 | "font-awesome": "~4.2.0",
34 | "metisMenu": "~1.1.3",
35 | "datatables-responsive": "~1.0.3",
36 | "bootstrap-social": "~4.8.0",
37 | "flot.tooltip": "~0.8.4"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | }
12 |
13 | .fa-icon-rotate(@degrees, @rotation) {
14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
15 | -webkit-transform: rotate(@degrees);
16 | -ms-transform: rotate(@degrees);
17 | transform: rotate(@degrees);
18 | }
19 |
20 | .fa-icon-flip(@horiz, @vert, @rotation) {
21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
22 | -webkit-transform: scale(@horiz, @vert);
23 | -ms-transform: scale(@horiz, @vert);
24 | transform: scale(@horiz, @vert);
25 | }
26 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | }
12 |
13 | @mixin fa-icon-rotate($degrees, $rotation) {
14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
15 | -webkit-transform: rotate($degrees);
16 | -ms-transform: rotate($degrees);
17 | transform: rotate($degrees);
18 | }
19 |
20 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
22 | -webkit-transform: scale($horiz, $vert);
23 | -ms-transform: scale($horiz, $vert);
24 | transform: scale($horiz, $vert);
25 | }
26 |
--------------------------------------------------------------------------------
/src/docker/start:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | # Start Container
6 | # -------------------------------------------------------------------------------------------
7 | PORT=9090
8 | ORG=$1
9 | SERVICE=$2
10 | API=$3
11 | if test "$#" -lt 1; then
12 | echo "Extracting ORG and Service Names..."
13 | # Get the Org Name and Container Name from Properties file
14 | cd ../../
15 | ORG=`getServiceName 1`
16 | SERVICE=`getServiceName 4`
17 | API=`getServiceName 3`
18 | cd src/docker
19 | fi
20 | echo "docker container run --name $SERVICE -d --rm -p $PORT:9090 $ORG/$SERVICE"
21 | docker container run --name $SERVICE -d --rm -p $PORT:9090 $ORG/$SERVICE
22 | echo "Checkout API: http://localhost:$PORT/api/v1/$API/swagger-ui.html"
23 | echo "Container id for $SERVICE ="`docker container ls | grep $SERVICE | tr -s " " | cut -d " " -f 1`
24 | docker container ls | grep $SERVICE | tr -s " " | cut -d " " -f 1 > $SERVICE.cid
25 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/adapters/security/jwt/ValidateRefreshToken.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.adapters.security.jwt;
17 |
18 | import java.lang.annotation.Retention;
19 | import java.lang.annotation.RetentionPolicy;
20 |
21 | /**
22 | * @author: Araf Karsh Hamid
23 | * @version:
24 | * @date:
25 | */
26 | @Retention(RetentionPolicy.RUNTIME)
27 | public @interface ValidateRefreshToken {
28 |
29 | // Role Name
30 | String role();
31 | }
32 |
--------------------------------------------------------------------------------
/jmeter/README.MD:
--------------------------------------------------------------------------------
1 | # JMeter v5.5
2 |
3 | - Ensure that JMeter is installed and its available in the PATH
4 | - To Run the Jmeter test case run the following command.
5 |
6 | ```
7 | jmeter -n -t ms-sb-272-j8.jmx -l ms-sb-272-j8-2023-06-20-13-27-20.jtl -e -o jmoutput-2023-06-20-13-27-20
8 | ```
9 |
10 | Here's a description of the options used:
11 |
12 | - -n: This specifies JMeter is to run in non-GUI mode
13 | - -t: The name of the JMX file that contains the Test Plan
14 | - -l: The name of the file to which the test log is written
15 | - -e: Generate an HTML report at end of the test and save it to the specified directory (-o option).
16 | - -o: Path to the directory where the HTML report will be generated.
17 |
18 | ## Execute the Test case
19 |
20 | When you run the command (shell script) "run" you will get the following output
21 |
22 | 
23 |
24 | ## JMeter Output
25 |
26 | 
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/adapters/security/jwt/AuthorizationRequired.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.adapters.security.jwt;
17 |
18 | import java.lang.annotation.Retention;
19 | import java.lang.annotation.RetentionPolicy;
20 |
21 | /**
22 | * @author: Araf Karsh Hamid
23 | * @version:
24 | * @date:
25 | */
26 | @Retention(RetentionPolicy.RUNTIME)
27 | public @interface AuthorizationRequired {
28 |
29 | // Role Name
30 | String role();
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/adapters/security/jwt/SingleTokenAuthorizationRequired.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.adapters.security.jwt;
17 |
18 | import java.lang.annotation.Retention;
19 | import java.lang.annotation.RetentionPolicy;
20 |
21 | /**
22 | * @author: Araf Karsh Hamid
23 | * @version:
24 | * @date:
25 | */
26 | @Retention(RetentionPolicy.RUNTIME)
27 | public @interface SingleTokenAuthorizationRequired {
28 |
29 | // Role Name
30 | String role();
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/models/example/CardType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2021 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.models.example;
17 |
18 | /**
19 | *
20 | * @author arafkarsh
21 | *
22 | */
23 | public enum CardType {
24 |
25 | /**
26 | * Master Card Payment
27 | */
28 | MASTER,
29 | /**
30 | * Visa Card Payment
31 | */
32 | VISA,
33 | /**
34 | * Discover Payment
35 | */
36 | DISCOVER,
37 | /**
38 | * American Express Payment
39 | */
40 | AMERICAN_EXPRESS;
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/adapters/security/core/UserRole.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.adapters.security.core;
17 |
18 | /**
19 | * These Roles are compared with Role Defined in the JWT Token
20 | *
21 | * User Roles refactored on Dec 18, 2024.
22 | * All the Roles names were capitalized to match the coding standards.
23 | *
24 | * @author: Araf Karsh Hamid
25 | * @version:
26 | * @date:
27 | */
28 | public enum UserRole {
29 | USER,
30 | ADMIN,
31 | PUBLIC
32 | }
33 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/metisMenu/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "metisMenu",
3 | "version": "1.1.3",
4 | "homepage": "https://github.com/onokumus/metisMenu",
5 | "authors": [
6 | "onokumus "
7 | ],
8 | "description": "Easy menu jQuery plugin for Twitter Bootstrap 3",
9 | "main": [
10 | "dist/metisMenu.js",
11 | "dist/metisMenu.css"
12 | ],
13 | "keywords": [
14 | "twitter",
15 | "bootstrap",
16 | "twbs",
17 | "jquery",
18 | "menu",
19 | "accordion",
20 | "toggle",
21 | "metis",
22 | "metisMenu"
23 | ],
24 | "license": "MIT",
25 | "ignore": [
26 | "**/.*",
27 | "node_modules",
28 | "bower_components",
29 | "test",
30 | "tests"
31 | ],
32 | "dependencies": {
33 | "bootstrap": "~3.3.0"
34 | },
35 | "_release": "1.1.3",
36 | "_resolution": {
37 | "type": "version",
38 | "tag": "1.1.3",
39 | "commit": "8e179d59f60a593203667c092119779dc36f5171"
40 | },
41 | "_source": "git://github.com/onokumus/metisMenu.git",
42 | "_target": "~1.1.3",
43 | "_originalSource": "metisMenu",
44 | "_direct": true
45 | }
--------------------------------------------------------------------------------
/application-prod.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # PostgreSQL DB Properties -
13 | # =======================================================================
14 | db.server=localhost
15 | db.port=5433
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=PostgreSQL
19 | spring.datasource.url=jdbc:postgresql://${db.server}:${db.port}/${db.name}
20 | spring.datasource.driverClassName=org.postgresql.ds.PGSimpleDataSource
21 | spring.datasource.username=postgres
22 | spring.datasource.password=2023.Sigma
23 | spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
24 | spring.datasource.hikari.connection-test-query=SELECT 1
25 |
26 |
27 |
--------------------------------------------------------------------------------
/application-staging.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # PostgreSQL DB Properties -
13 | # =======================================================================
14 | db.server=localhost
15 | db.port=5433
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=PostgreSQL
19 | spring.datasource.url=jdbc:postgresql://${db.server}:${db.port}/${db.name}
20 | spring.datasource.driverClassName=org.postgresql.ds.PGSimpleDataSource
21 | spring.datasource.username=postgres
22 | spring.datasource.password=2023.Sigma
23 | spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
24 | spring.datasource.hikari.connection-test-query=SELECT 1
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/models/CustomerServiceCategory.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.models;
17 |
18 | /**
19 | * Customer Service Category Enum
20 | * @author: Araf Karsh Hamid
21 | * @version:
22 | * @date:
23 | */
24 | public enum CustomerServiceCategory {
25 |
26 | BILLING_AND_PAYMENTS,
27 | TECHNICAL_SUPPORT,
28 | ACCOUNT_MANAGEMENT,
29 | PRODUCT_INFORMATION,
30 | ORDER_STATUS,
31 | RETURNS_AND_EXCHANGES,
32 | FEEDBACK_AND_COMPLAINTS
33 | }
34 |
--------------------------------------------------------------------------------
/src/docker/application-prod.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # PostgreSQL DB Properties -
13 | # =======================================================================
14 | db.server=localhost
15 | db.port=5433
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=PostgreSQL
19 | spring.datasource.url=jdbc:postgresql://${db.server}:${db.port}/${db.name}
20 | spring.datasource.driverClassName=org.postgresql.ds.PGSimpleDataSource
21 | spring.datasource.username=postgres
22 | spring.datasource.password=2023.Sigma
23 | spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
24 | spring.datasource.hikari.connection-test-query=SELECT 1
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/docker/application-staging.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # PostgreSQL DB Properties -
13 | # =======================================================================
14 | db.server=localhost
15 | db.port=5433
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=PostgreSQL
19 | spring.datasource.url=jdbc:postgresql://${db.server}:${db.port}/${db.name}
20 | spring.datasource.driverClassName=org.postgresql.ds.PGSimpleDataSource
21 | spring.datasource.username=postgres
22 | spring.datasource.password=2023.Sigma
23 | spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
24 | spring.datasource.hikari.connection-test-query=SELECT 1
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/adapters/repository/CountryRepository.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2021 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.adapters.repository;
17 |
18 | import io.fusion.air.microservice.domain.entities.example.CountryEntity;
19 | import org.springframework.data.jpa.repository.JpaRepository;
20 | import org.springframework.stereotype.Repository;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | @Repository
28 | public interface CountryRepository extends JpaRepository {
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/resources/application-prod.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # PostgreSQL DB Properties -
13 | # =======================================================================
14 | db.server=localhost
15 | db.port=5433
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=PostgreSQL
19 | spring.datasource.url=jdbc:postgresql://${db.server}:${db.port}/${db.name}
20 | spring.datasource.driverClassName=org.postgresql.ds.PGSimpleDataSource
21 | spring.datasource.username=postgres
22 | spring.datasource.password=2023.Sigma
23 | spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
24 | spring.datasource.hikari.connection-test-query=SELECT 1
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/main/resources/application-staging.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # PostgreSQL DB Properties -
13 | # =======================================================================
14 | db.server=localhost
15 | db.port=5433
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=PostgreSQL
19 | spring.datasource.url=jdbc:postgresql://${db.server}:${db.port}/${db.name}
20 | spring.datasource.driverClassName=org.postgresql.ds.PGSimpleDataSource
21 | spring.datasource.username=postgres
22 | spring.datasource.password=2023.Sigma
23 | spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
24 | spring.datasource.hikari.connection-test-query=SELECT 1
25 |
26 |
27 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | lib
4 | src/docker/*.jar
5 | src/docker/libs
6 | src/docker/Dockerfile-r
7 | !.mvn/wrapper/maven-wrapper.jar
8 | !**/src/main/**/target/
9 | !**/src/test/**/target/
10 |
11 | ### Dont Commit Private Keys
12 | privateKey.pem
13 |
14 | ### GPT Images
15 | downloaded_image-conf.jpg
16 | downloaded_image.jpg
17 | multi-user-chat-memory.db
18 |
19 | ### STS ###
20 | .apt_generated
21 | .classpath
22 | .factorypath
23 | .project
24 | .settings
25 | .springBeans
26 | .sts4-cache
27 |
28 | ### IntelliJ IDEA ###
29 | .idea
30 | *.iws
31 | *.iml
32 | *.ipr
33 |
34 | ### NetBeans ###
35 | /nbproject/private/
36 | /nbbuild/
37 | /dist/
38 | /nbdist/
39 | /.nb-gradle/
40 | build/
41 | !**/src/main/**/build/
42 | !**/src/test/**/build/
43 |
44 | ### VS Code ###
45 | .vscode/
46 |
47 | # Compiled class file
48 | *.class
49 |
50 | # Log file
51 | *.log
52 |
53 | # BlueJ files
54 | *.ctxt
55 |
56 | # Mobile Tools for Java (J2ME)
57 | .mtj.tmp/
58 |
59 | # Package Files #
60 | *.jar
61 | *.war
62 | *.nar
63 | *.ear
64 | *.zip
65 | *.tar.gz
66 | *.rar
67 |
68 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
69 | hs_err_pid*
70 | replay_pid*
71 |
--------------------------------------------------------------------------------
/getServiceName:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # -------------------------------------------------------------------------------------------
3 | # @author: Araf Karsh Hamid
4 | # -------------------------------------------------------------------------------------------
5 | #SRC_BASE=~/workspace/IntelliJ/ms-cache-kafka-quickstart
6 | SRC_BASE=${PWD}
7 | orgName=1
8 | serviceName=2
9 | apiName=3
10 | containerName=4
11 | param=$1
12 | if [ -z "$param" ]
13 | then
14 | fgrep service.name= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2
15 | exit
16 | fi
17 | if [ $param == $orgName ]
18 | then
19 | fgrep service.org= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2
20 | exit
21 | elif [ $param == $serviceName ]
22 | then
23 | fgrep service.name= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2
24 | exit
25 | elif [ $param == $apiName ]
26 | then
27 | fgrep service.api.name= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2
28 | exit
29 | elif [ $param == $containerName ]
30 | then
31 | fgrep service.container= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2
32 | exit
33 | fi
34 | fgrep service.api.name= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2
35 | exit
36 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/models/example/PaymentType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2021 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.models.example;
17 |
18 | /**
19 | *
20 | * @author arafkarsh
21 | *
22 | */
23 | public enum PaymentType {
24 |
25 | /**
26 | * Credit Card Payment
27 | */
28 | CREDIT_CARD,
29 | /**
30 | * Debit Card Payment
31 | */
32 | DEBIT_CARD,
33 | /**
34 | * NetBanking Payment
35 | */
36 | NET_BANKING,
37 | /**
38 | * UPI Payment
39 | */
40 | UPI,
41 | /**
42 | * Paytm Payment
43 | */
44 | PAYTM,
45 | /**
46 | * Google Pay
47 | */
48 | GOOGLE_PAY;
49 | }
50 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/ports/services/ChatMessageService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.ports.services;
17 |
18 | import io.fusion.air.microservice.domain.entities.example.ChatMessageEntity;
19 |
20 | import java.util.List;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | public interface ChatMessageService {
28 |
29 | /**
30 | * Returns List of Chat Messages from ChatMessages
31 | *
32 | * @param userId
33 | * @return
34 | */
35 | public List fetchByUserId(String userId);
36 | }
37 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/content/css/dashboard.css:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one or more
3 | contributor license agreements. See the NOTICE file distributed with
4 | this work for additional information regarding copyright ownership.
5 | The ASF licenses this file to You under the Apache License, Version 2.0
6 | (the "License"); you may not use this file except in compliance with
7 | the License. You may obtain a copy of the License at
8 |
9 | http://www.apache.org/licenses/LICENSE-2.0
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 | */
17 | #stats td, th
18 | {
19 |
20 | width: 9%;//140px;
21 | height: 30px;
22 | }
23 | #stats td
24 | {
25 | text-align: center;
26 | }
27 | #stats th
28 | {
29 | font-weight:bold;
30 | }
31 | .blue
32 | {
33 | background-color: #dff0d8;
34 | }
35 | #errors td, th
36 | {
37 | text-align: center;
38 | width: 400px;
39 | height: 30px;
40 | }
41 | #errors td
42 | {
43 |
44 | }
45 | #errors th
46 | {
47 | font-weight:bold;
48 | }
49 |
--------------------------------------------------------------------------------
/logback-spring-appenders-json-logstash.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | logstash-host:5000
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | 5000
24 | 60000
25 |
26 |
27 |
28 | 5000
29 |
30 |
31 | 5000
32 |
33 |
34 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/dist/js/sb-admin-2.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 |
3 | $('#side-menu').metisMenu();
4 |
5 | });
6 |
7 | //Loads the correct sidebar on window load,
8 | //collapses the sidebar on window resize.
9 | // Sets the min-height of #page-wrapper to window size
10 | $(function() {
11 | $(window).bind("load resize", function() {
12 | topOffset = 50;
13 | width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
14 | if (width < 768) {
15 | $('div.navbar-collapse').addClass('collapse');
16 | topOffset = 100; // 2-row-menu
17 | } else {
18 | $('div.navbar-collapse').removeClass('collapse');
19 | }
20 |
21 | height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1;
22 | height = height - topOffset;
23 | if (height < 1) height = 1;
24 | if (height > topOffset) {
25 | $("#page-wrapper").css("min-height", (height) + "px");
26 | }
27 | });
28 |
29 | var url = window.location;
30 | var element = $('ul.nav a').filter(function() {
31 | return this.href == url || url.href.indexOf(this.href) == 0;
32 | }).addClass('active').parent().parent().addClass('in').parent();
33 | if (element.is('li')) {
34 | element.addClass('active');
35 | }
36 | });
37 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/assistants/PatientDataExtractorAssistant.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.assistants;
17 |
18 | import dev.langchain4j.service.UserMessage;
19 | import io.fusion.air.microservice.ai.genai.core.models.Patient;
20 |
21 | /**
22 | * Extracts Patient Id from the text
23 | *
24 | * @author: Araf Karsh Hamid
25 | * @version:
26 | * @date:
27 | */
28 | public interface PatientDataExtractorAssistant {
29 |
30 | @UserMessage("Extract Patient ID from {{it}}")
31 | public long extractPatientId(String text);
32 |
33 | // POJO Extractor
34 | @UserMessage("Extract the Patient Name from {{it}}")
35 | public Patient extractPatientNameFrom(String text);
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/server/service/examples/EchoService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2021 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.server.service.examples;
17 |
18 |
19 | import io.fusion.air.microservice.server.models.EchoResponseData;
20 | import org.springframework.stereotype.Service;
21 | import org.springframework.web.context.annotation.RequestScope;
22 |
23 | /**
24 | * @author: Araf Karsh Hamid
25 | * @version:
26 | * @date:
27 | */
28 | @Service
29 | @RequestScope
30 | public class EchoService {
31 |
32 | private EchoResponseData echoData;
33 |
34 | public void setEchoData(EchoResponseData data) {
35 | echoData = data;
36 | }
37 |
38 | public EchoResponseData getEchoData() {
39 | return echoData;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/tools/DateTimeTool.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.tools;
17 |
18 | import dev.langchain4j.agent.tool.Tool;
19 | import io.fusion.air.microservice.ai.genai.core.assistants.HAL9000Assistant;
20 | import org.springframework.stereotype.Component;
21 |
22 | import java.time.LocalTime;
23 |
24 | /**
25 | * Date & Time Tool Implementation
26 | * @author: Araf Karsh Hamid
27 | * @version:
28 | * @date:
29 | */
30 | @Component
31 | public class DateTimeTool {
32 |
33 | /**
34 | * This tool is available to {@link HAL9000Assistant}
35 | */
36 | @Tool
37 | public String currentTime() {
38 | return LocalTime.now().toString();
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/resources/logback-spring-appenders-json-logstash.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | logstash-host:5000
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | 5000
24 | 60000
25 |
26 |
27 |
28 | 5000
29 |
30 |
31 | 5000
32 |
33 |
34 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/server/service/examples/EchoAppService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2021 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.server.service.examples;
17 |
18 |
19 | import io.fusion.air.microservice.server.models.EchoResponseData;
20 | import org.springframework.stereotype.Service;
21 | import org.springframework.web.context.annotation.ApplicationScope;
22 |
23 | /**
24 | * @author: Araf Karsh Hamid
25 | * @version:
26 | * @date:
27 | */
28 | @Service
29 | @ApplicationScope
30 | public class EchoAppService {
31 |
32 | private EchoResponseData echoData;
33 |
34 | public void setEchoData(EchoResponseData data) {
35 | echoData = data;
36 | }
37 |
38 | public EchoResponseData getEchoData() {
39 | return echoData;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/server/service/examples/EchoSessionService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2021 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.server.service.examples;
17 |
18 |
19 | import io.fusion.air.microservice.server.models.EchoResponseData;
20 | import org.springframework.stereotype.Service;
21 | import org.springframework.web.context.annotation.SessionScope;
22 |
23 | /**
24 | * @author: Araf Karsh Hamid
25 | * @version:
26 | * @date:
27 | */
28 | @Service
29 | @SessionScope
30 | public class EchoSessionService {
31 |
32 | private EchoResponseData echoData;
33 |
34 | public void setEchoData(EchoResponseData data) {
35 | echoData = data;
36 | }
37 |
38 | public EchoResponseData getEchoData() {
39 | return echoData;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/server/config/WebServerConfig.java:
--------------------------------------------------------------------------------
1 | package io.fusion.air.microservice.server.config;
2 |
3 | import org.apache.catalina.connector.Connector;
4 | import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
5 | import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
6 | import org.springframework.boot.web.server.WebServerFactoryCustomizer;
7 | import org.springframework.context.annotation.Configuration;
8 |
9 | /**
10 | * Springboot 2.7.x to 3.0 Migration
11 | *
12 | * Response Header Size
13 | * The property server.max.http.header.size is deprecated in favour of server.max-http-request-header-size, which
14 | * checks only the size of the request header.
15 | *
16 | * To define a limit also for the response header, let's define a new bean.
17 | *
18 | * @author: Araf Karsh Hamid
19 | * @version:
20 | * @date:
21 | */
22 | @Configuration
23 | public class WebServerConfig implements WebServerFactoryCustomizer {
24 |
25 | @Override
26 | public void customize(TomcatServletWebServerFactory factory) {
27 | factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
28 | @Override
29 | public void customize(Connector connector) {
30 | connector.setProperty("maxHttpResponseHeaderSize", "100000");
31 | }
32 | });
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/bootstrap/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bootstrap",
3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
4 | "version": "3.3.4",
5 | "keywords": [
6 | "css",
7 | "js",
8 | "less",
9 | "mobile-first",
10 | "responsive",
11 | "front-end",
12 | "framework",
13 | "web"
14 | ],
15 | "homepage": "http://getbootstrap.com",
16 | "main": [
17 | "less/bootstrap.less",
18 | "dist/css/bootstrap.css",
19 | "dist/js/bootstrap.js",
20 | "dist/fonts/glyphicons-halflings-regular.eot",
21 | "dist/fonts/glyphicons-halflings-regular.svg",
22 | "dist/fonts/glyphicons-halflings-regular.ttf",
23 | "dist/fonts/glyphicons-halflings-regular.woff",
24 | "dist/fonts/glyphicons-halflings-regular.woff2"
25 | ],
26 | "ignore": [
27 | "/.*",
28 | "_config.yml",
29 | "CNAME",
30 | "composer.json",
31 | "CONTRIBUTING.md",
32 | "docs",
33 | "js/tests",
34 | "test-infra"
35 | ],
36 | "dependencies": {
37 | "jquery": ">= 1.9.1"
38 | },
39 | "_release": "3.3.4",
40 | "_resolution": {
41 | "type": "version",
42 | "tag": "v3.3.4",
43 | "commit": "a10eb60bc0b07b747fa0c4ebd8821eb7307bd07f"
44 | },
45 | "_source": "git://github.com/twbs/bootstrap.git",
46 | "_target": "~3.3.1",
47 | "_originalSource": "bootstrap"
48 | }
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/assistants/Assistant.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.assistants;
17 |
18 | import dev.langchain4j.service.MemoryId;
19 | import dev.langchain4j.service.UserMessage;
20 |
21 | /**
22 | * @author: Araf Karsh Hamid
23 | * @version:
24 | * @date:
25 | */
26 | public interface Assistant {
27 |
28 | /**
29 | * Chat Conversation
30 | * @param userMessage
31 | * @return
32 | */
33 | public String chat(@UserMessage String userMessage);
34 |
35 | /**
36 | * Chat Memory with a Memory ID
37 | *
38 | * @param memoryId
39 | * @param userMessage
40 | * @return
41 | */
42 | public String chat(@MemoryId String memoryId, @UserMessage String userMessage);
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/models/core/StandardResponse.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.models.core;
17 |
18 | /**
19 | * @author: Araf Karsh Hamid
20 | * @version:
21 | * @date:
22 | */
23 | public class StandardResponse extends AbstractResponse {
24 |
25 | /**
26 | * Return Standard Response with OK Status.
27 | * @return
28 | */
29 | public static StandardResponse OK() {
30 | return (StandardResponse) new StandardResponse().initSuccess( "200", "Request Completed!");
31 | }
32 |
33 | /**
34 | * Returns Standard Response with ERROR Status
35 | * @return
36 | */
37 | public static StandardResponse ERROR() {
38 | return (StandardResponse) new StandardResponse().initFailure( "400", "Request Failed!");
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/assistants/ChefAssistant.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.assistants;
17 |
18 | import io.fusion.air.microservice.ai.genai.core.models.Recipe;
19 | import io.fusion.air.microservice.ai.genai.core.prompts.StructuredPromptRecipe;
20 |
21 | /**
22 | * @author: Araf Karsh Hamid
23 | * @version:
24 | * @date:
25 | */
26 | public interface ChefAssistant {
27 |
28 | /**
29 | * Create Recipe from the Ingredients
30 | * @param ingredients
31 | * @return
32 | */
33 | public Recipe createRecipeFrom(String... ingredients);
34 |
35 | /**
36 | * Create Recipe using a Structured Prompt
37 | * @param promptRecipe
38 | * @return
39 | */
40 | public Recipe createRecipe(StructuredPromptRecipe promptRecipe);
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/StreamException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2023 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | /**
19 | * @author: Araf Karsh Hamid
20 | * @version:
21 | * @date:
22 | */
23 | public class StreamException extends MessagingException {
24 |
25 | /**
26 | * Messaging Exception
27 | * @param msg
28 | */
29 | public StreamException(String msg) {
30 | super(msg);
31 | }
32 |
33 | /**
34 | * Messaging Exception
35 | * @param msg
36 | * @param e
37 | */
38 | public StreamException(String msg, Throwable e) {
39 | super(msg, e);
40 | }
41 |
42 | /**
43 | * Messaging Exception
44 | * @param e
45 | */
46 | public StreamException(Throwable e) {
47 | this("Message Error!", e);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/bower_components/font-awesome/scss/_extras.scss:
--------------------------------------------------------------------------------
1 | /* EXTRAS
2 | * -------------------------- */
3 |
4 | /* Stacked and layered icon */
5 |
6 | /* Animated rotating icon */
7 | .#{$fa-css-prefix}-spin {
8 | -webkit-animation: spin 2s infinite linear;
9 | -moz-animation: spin 2s infinite linear;
10 | -o-animation: spin 2s infinite linear;
11 | animation: spin 2s infinite linear;
12 | }
13 |
14 | @-moz-keyframes spin {
15 | 0% { -moz-transform: rotate(0deg); }
16 | 100% { -moz-transform: rotate(359deg); }
17 | }
18 | @-webkit-keyframes spin {
19 | 0% { -webkit-transform: rotate(0deg); }
20 | 100% { -webkit-transform: rotate(359deg); }
21 | }
22 | @-o-keyframes spin {
23 | 0% { -o-transform: rotate(0deg); }
24 | 100% { -o-transform: rotate(359deg); }
25 | }
26 | @-ms-keyframes spin {
27 | 0% { -ms-transform: rotate(0deg); }
28 | 100% { -ms-transform: rotate(359deg); }
29 | }
30 | @keyframes spin {
31 | 0% { transform: rotate(0deg); }
32 | 100% { transform: rotate(359deg); }
33 | }
34 |
35 |
36 | // Icon rotations & flipping
37 | // -------------------------
38 |
39 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
40 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
41 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
42 |
43 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
44 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
45 |
--------------------------------------------------------------------------------
/application-dev.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # H2 DB Properties
13 | # =======================================================================
14 | db.server=mem
15 | db.port=5432
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=H2
19 | # To Store the Data in File
20 | #spring.datasource.url=jdbc:h2:file:/data/demo
21 | spring.datasource.url=jdbc:h2:${db.server}:${db.name};DB_CLOSE_ON_EXIT=FALSE
22 | spring.datasource.driverClassName=org.h2.Driver
23 | spring.datasource.username=sa
24 | spring.datasource.password=ENC(lA6JCEpK7+wuHDpB1A41DOUfn6L74DQxaazXLTjyQHY5/X6CONfUEyDt6erWifrN)
25 | spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
26 | # =======================================================================
27 | # Enabling H2 Console
28 | # =======================================================================
29 | spring.h2.console.enabled=true
30 | spring.h2.console.path=/h2-ui
31 | spring.h2.console.settings.trace=false
32 | spring.h2.console.settings.web-allow-others=false
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/docker/application-dev.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # H2 DB Properties
13 | # =======================================================================
14 | db.server=mem
15 | db.port=5432
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=H2
19 | # To Store the Data in File
20 | #spring.datasource.url=jdbc:h2:file:/data/demo
21 | spring.datasource.url=jdbc:h2:${db.server}:${db.name};DB_CLOSE_ON_EXIT=FALSE
22 | spring.datasource.driverClassName=org.h2.Driver
23 | spring.datasource.username=sa
24 | spring.datasource.password=ENC(lA6JCEpK7+wuHDpB1A41DOUfn6L74DQxaazXLTjyQHY5/X6CONfUEyDt6erWifrN)
25 | spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
26 | # =======================================================================
27 | # Enabling H2 Console
28 | # =======================================================================
29 | spring.h2.console.enabled=true
30 | spring.h2.console.path=/h2-ui
31 | spring.h2.console.settings.trace=false
32 | spring.h2.console.settings.web-allow-others=false
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/main/resources/application-dev.properties:
--------------------------------------------------------------------------------
1 | # =======================================================================
2 | # Ai Server Properties
3 | # =======================================================================
4 | server.port=19090
5 | # ------------------------------------------------------------------------
6 | # Log Details
7 | # ------------------------------------------------------------------------
8 | server.dev.mode=true
9 | logging.level.root=INFO
10 | spring.application.name=ai-service
11 | # =======================================================================
12 | # H2 DB Properties
13 | # =======================================================================
14 | db.server=mem
15 | db.port=5432
16 | db.name=ai_324
17 | db.schema=ms_schema
18 | db.vendor=H2
19 | # To Store the Data in File
20 | #spring.datasource.url=jdbc:h2:file:/data/demo
21 | spring.datasource.url=jdbc:h2:${db.server}:${db.name};DB_CLOSE_ON_EXIT=FALSE
22 | spring.datasource.driverClassName=org.h2.Driver
23 | spring.datasource.username=sa
24 | spring.datasource.password=ENC(lA6JCEpK7+wuHDpB1A41DOUfn6L74DQxaazXLTjyQHY5/X6CONfUEyDt6erWifrN)
25 | spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
26 | # =======================================================================
27 | # Enabling H2 Console
28 | # =======================================================================
29 | spring.h2.console.enabled=true
30 | spring.h2.console.path=/h2-ui
31 | spring.h2.console.settings.trace=false
32 | spring.h2.console.settings.web-allow-others=false
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/ResourceNotFoundException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 | import org.springframework.web.bind.annotation.ResponseStatus;
20 |
21 | /**
22 | * @author: Araf Karsh Hamid
23 | * @version:
24 | * @date:
25 | */
26 | @ResponseStatus(value = HttpStatus.NOT_FOUND)
27 | public class ResourceNotFoundException extends ResourceException {
28 |
29 | /**
30 | * ResourceNotFound Exception
31 | * @param msg
32 | */
33 | public ResourceNotFoundException(String msg) {
34 | super(msg);
35 | }
36 |
37 |
38 | /**
39 | * ResourceNotFound Exception
40 | * @param msg
41 | * @param e
42 | */
43 | public ResourceNotFoundException(String msg, Throwable e) {
44 | super(msg, HttpStatus.NOT_FOUND, e);
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/assistants/SentimentAssistant.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.assistants;
17 |
18 | import dev.langchain4j.service.UserMessage;
19 |
20 | import io.fusion.air.microservice.ai.genai.core.models.Sentiment;
21 |
22 | /**
23 | * Sentiment Analyzer
24 | *
25 | * @author: Araf Karsh Hamid
26 | * @version:
27 | * @date:
28 | */
29 | public interface SentimentAssistant {
30 |
31 | /**
32 | * Analyze Sentiment of a Text
33 | * @param text
34 | * @return
35 | */
36 | @UserMessage("Analyze sentiment of {{it}}")
37 | public Sentiment analyzeSentimentOf(String text);
38 |
39 | /**
40 | * Returns True if the Sentiment is Positive
41 | * @param text
42 | * @return
43 | */
44 | @UserMessage("Does {{it}} have a positive sentiment?")
45 | public boolean isPositive(String text);
46 | }
47 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/examples/llama/_01_Hello_World.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.examples.llama;
17 |
18 | import dev.langchain4j.model.chat.ChatLanguageModel;
19 | import io.fusion.air.microservice.ai.genai.utils.AiBeans;
20 | import io.fusion.air.microservice.ai.genai.utils.AiConstants;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | public class _01_Hello_World {
28 |
29 | public static void main(String[] args) {
30 | // Create Chat Language Model llama
31 | ChatLanguageModel model = AiBeans.getChatLanguageModelLlama(AiConstants.OLLAMA_LLAMA);
32 | String request = "Explain French Revolution";
33 | String response = model.generate(request);
34 | AiBeans.printModelDetails(AiConstants.LLM_OLLAMA, AiConstants.OLLAMA_LLAMA);
35 | AiBeans.printResult(request, response);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/examples/qwen/_01_Hello_World.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.examples.qwen;
17 |
18 | import dev.langchain4j.model.chat.ChatLanguageModel;
19 | import io.fusion.air.microservice.ai.genai.utils.AiBeans;
20 | import io.fusion.air.microservice.ai.genai.utils.AiConstants;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | public class _01_Hello_World {
28 |
29 | public static void main(String[] args) {
30 | // Create Chat Language Model Ollama Qwen 2.5
31 | ChatLanguageModel model = AiBeans.getChatLanguageModelLlama(AiConstants.OLLAMA_QWEN);
32 | String request = "Explain French Revolution";
33 | String response = model.generate(request);
34 | AiBeans.printModelDetails(AiConstants.LLM_OLLAMA, AiConstants.OLLAMA_QWEN);
35 | AiBeans.printResult(request, response);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/examples/phi/_01_Hello_World.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.examples.phi;
17 |
18 | import dev.langchain4j.model.chat.ChatLanguageModel;
19 | import io.fusion.air.microservice.ai.genai.utils.AiBeans;
20 | import io.fusion.air.microservice.ai.genai.utils.AiConstants;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | public class _01_Hello_World {
28 |
29 | public static void main(String[] args) {
30 | // Create Chat Language Model Microsoft PHI - 3
31 | ChatLanguageModel model = AiBeans.getChatLanguageModelLlama(AiConstants.OLLAMA_PHI);
32 | String request = "Explain French Revolution";
33 | String response = model.generate(request);
34 |
35 | AiBeans.printModelDetails(AiConstants.LLM_OLLAMA, AiConstants.OLLAMA_PHI);
36 | AiBeans.printResult(request, response);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/InputDataException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class InputDataException extends BusinessServiceException {
26 |
27 | /**
28 | * Input Data Exception
29 | */
30 | public InputDataException(String msg) {
31 | super(msg);
32 | }
33 |
34 | /**
35 | * Input Data Exception
36 | * @param msg
37 | * @param e
38 | */
39 | public InputDataException(String msg, Throwable e) {
40 | super(msg, HttpStatus.BAD_REQUEST, e);
41 | }
42 |
43 | /**
44 | * Input Data Exception
45 | * @param e
46 | */
47 | public InputDataException(Throwable e) {
48 | super("Invalid Input!", HttpStatus.BAD_REQUEST, e);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/examples/gemma/_01_Hello_World.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.examples.gemma;
17 |
18 | import dev.langchain4j.model.chat.ChatLanguageModel;
19 | import io.fusion.air.microservice.ai.genai.utils.AiBeans;
20 | import io.fusion.air.microservice.ai.genai.utils.AiConstants;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | public class _01_Hello_World {
28 |
29 | public static void main(String[] args) {
30 | // Create Chat Language Model Google Gemma
31 | ChatLanguageModel model = AiBeans.getChatLanguageModelLlama(AiConstants.OLLAMA_GEMMA);
32 | String request = "Explain French Revolution";
33 | String response = model.generate(request);
34 |
35 | AiBeans.printModelDetails(AiConstants.LLM_OLLAMA, AiConstants.OLLAMA_GEMMA);
36 | AiBeans.printResult(request, response);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/examples/mistral/_01_Hello_World.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.examples.mistral;
17 |
18 | import dev.langchain4j.model.chat.ChatLanguageModel;
19 | import io.fusion.air.microservice.ai.genai.utils.AiBeans;
20 | import io.fusion.air.microservice.ai.genai.utils.AiConstants;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | public class _01_Hello_World {
28 |
29 | public static void main(String[] args) {
30 | // Create Chat Language Model Mistral
31 | ChatLanguageModel model = AiBeans.getChatLanguageModelLlama(AiConstants.OLLAMA_MISTRAL);
32 | String request = "Explain French Revolution";
33 | String response = model.generate(request);
34 |
35 | AiBeans.printModelDetails(AiConstants.LLM_OLLAMA, AiConstants.OLLAMA_MISTRAL);
36 | AiBeans.printResult(request, response);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/server/service/ServletInitializer.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2021 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.server.service;
17 |
18 | import io.fusion.air.microservice.ServiceBootStrap;
19 | import org.springframework.boot.builder.SpringApplicationBuilder;
20 | import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
21 |
22 | /**
23 | * SpringBootServletInitializer is an interface to run SpringApplication
24 | * from a traditional WAR deployment. It binds Servlet, Filter and
25 | * ServletContextInitializer beans from the application context to the
26 | * server
27 | *
28 | * @author arafkarsh
29 | *
30 | */
31 | public class ServletInitializer extends SpringBootServletInitializer {
32 |
33 | /**
34 | *
35 | */
36 | @Override
37 | protected SpringApplicationBuilder configure( SpringApplicationBuilder application) {
38 | return application.sources(ServiceBootStrap.class);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/examples/falcon/_01_Hello_World.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.examples.falcon;
17 |
18 | import dev.langchain4j.model.chat.ChatLanguageModel;
19 | import io.fusion.air.microservice.ai.genai.utils.AiBeans;
20 | import io.fusion.air.microservice.ai.genai.utils.AiConstants;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | public class _01_Hello_World {
28 |
29 | public static void main(String[] args) {
30 | // Create Chat Language Model Google Falcon 3
31 | ChatLanguageModel model = AiBeans.getChatLanguageModelLlama(AiConstants.OLLAMA_FALCON);
32 | AiBeans.printModelDetails(AiConstants.LLM_OLLAMA, AiConstants.OLLAMA_FALCON);
33 |
34 | String request = "Explain French Revolution";
35 | String response = model.generate(request);
36 |
37 | AiBeans.printResult(request, response);
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/InvalidInputException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class InvalidInputException extends BusinessServiceException {
26 |
27 | /**
28 | * Input Data Exception
29 | */
30 | public InvalidInputException(String msg) {
31 | super(msg);
32 | }
33 |
34 | /**
35 | * Input Data Exception
36 | * @param msg
37 | * @param e
38 | */
39 | public InvalidInputException(String msg, Throwable e) {
40 | super(msg, HttpStatus.BAD_REQUEST, e);
41 | }
42 |
43 | /**
44 | * Input Data Exception
45 | * @param e
46 | */
47 | public InvalidInputException(Throwable e) {
48 | super("Invalid Input!", HttpStatus.BAD_REQUEST, e);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/MessagingException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class MessagingException extends AbstractServiceException {
26 |
27 | /**
28 | * Messaging Exception
29 | * @param msg
30 | */
31 | public MessagingException(String msg) {
32 | super(msg);
33 | }
34 |
35 | /**
36 | * Messaging Exception
37 | * @param msg
38 | * @param e
39 | */
40 | public MessagingException(String msg, Throwable e) {
41 | super(msg, HttpStatus.BAD_REQUEST, e);
42 | }
43 |
44 | /**
45 | * Messaging Exception
46 | * @param e
47 | */
48 | public MessagingException(Throwable e) {
49 | super("Message Error!", HttpStatus.BAD_REQUEST,e);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/examples/palm/_01_Hello_World.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.examples.palm;
17 |
18 | import dev.langchain4j.model.chat.ChatLanguageModel;
19 | import io.fusion.air.microservice.ai.genai.utils.AiBeans;
20 | import io.fusion.air.microservice.ai.genai.utils.AiConstants;
21 |
22 | /**
23 | * @author: Araf Karsh Hamid
24 | * @version:
25 | * @date:
26 | */
27 | public class _01_Hello_World {
28 |
29 | public static void main(String[] args) {
30 | // Create Chat Language Model Google Vertex AI - PaLM 2
31 | ChatLanguageModel model = AiBeans.getChatLanguageModelGoogle(AiConstants.GOOGLE_PALM_CHAT_BISON);
32 | String request = "Explain French Revolution";
33 | String response = model.generate(request);
34 |
35 | AiBeans.printModelDetails(AiConstants.LLM_VERTEX, AiConstants.GOOGLE_PALM_CHAT_BISON);
36 | AiBeans.printResult(request, response);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/statistics.json:
--------------------------------------------------------------------------------
1 | {
2 | "Get All Products" : {
3 | "transaction" : "Get All Products",
4 | "sampleCount" : 1200,
5 | "errorCount" : 51,
6 | "errorPct" : 4.25,
7 | "meanResTime" : 3.396666666666669,
8 | "medianResTime" : 3.0,
9 | "minResTime" : 1.0,
10 | "maxResTime" : 92.0,
11 | "pct1ResTime" : 5.0,
12 | "pct2ResTime" : 7.0,
13 | "pct3ResTime" : 12.0,
14 | "throughput" : 49.03563255966002,
15 | "receivedKBytesPerSec" : 84.80674342105263,
16 | "sentKBytesPerSec" : 16.18558965348153
17 | },
18 | "Total" : {
19 | "transaction" : "Total",
20 | "sampleCount" : 2400,
21 | "errorCount" : 89,
22 | "errorPct" : 3.7083333,
23 | "meanResTime" : 3.3154166666666645,
24 | "medianResTime" : 3.0,
25 | "minResTime" : 1.0,
26 | "maxResTime" : 92.0,
27 | "pct1ResTime" : 5.0,
28 | "pct2ResTime" : 6.0,
29 | "pct3ResTime" : 12.0,
30 | "throughput" : 98.06325079676391,
31 | "receivedKBytesPerSec" : 169.85914899485167,
32 | "sentKBytesPerSec" : 32.84735842118166
33 | },
34 | "Search Products" : {
35 | "transaction" : "Search Products",
36 | "sampleCount" : 1200,
37 | "errorCount" : 38,
38 | "errorPct" : 3.1666667,
39 | "meanResTime" : 3.2341666666666717,
40 | "medianResTime" : 3.0,
41 | "minResTime" : 1.0,
42 | "maxResTime" : 53.0,
43 | "pct1ResTime" : 4.0,
44 | "pct2ResTime" : 6.0,
45 | "pct3ResTime" : 11.990000000000009,
46 | "throughput" : 49.15413918813747,
47 | "receivedKBytesPerSec" : 85.2718710318273,
48 | "sentKBytesPerSec" : 16.70472698971859
49 | }
50 | }
--------------------------------------------------------------------------------
/generateBuildNumber:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # ============================================================================
3 | # Build No. Generator
4 | # @author: Araf Karsh Hamid
5 | # ============================================================================
6 |
7 | PROPS_PATH=src/main/resources
8 | PROPS_BUILD=app.props.build
9 | PROPS_TMPL=app.props.tmpl
10 | PROPS_BACK=$PROPS_PATH/backup
11 | PROPS_FILE=application.properties
12 |
13 | CURR_BN=`git rev-list HEAD --count`
14 | if [ -z "$CURR_BN" ]
15 | then
16 | CURR_BN=1
17 | fi
18 | PREV_BN=`expr $CURR_BN - 1`
19 |
20 | echo "======================================================================="
21 | echo "Previous Build Number="$PREV_BN
22 | echo "Current Build Number="$CURR_BN
23 | echo "======================================================================="
24 | echo "Taking Properties Backup"
25 | cp $PROPS_PATH/$PROPS_FILE $PROPS_BACK/$PROPS_FILE.$PREV_BN
26 | echo "======================================================================="
27 | echo "Generate Build Numbers"
28 | echo "# =======================================================================" > $PROPS_PATH/$PROPS_BUILD
29 | echo "# $1 Service Properties" >> $PROPS_PATH/$PROPS_BUILD
30 | echo "# =======================================================================" >> $PROPS_PATH/$PROPS_BUILD
31 | echo "build.number="$CURR_BN >> $PROPS_PATH/$PROPS_BUILD
32 | echo "build.date="`date` >> $PROPS_PATH/$PROPS_BUILD
33 |
34 | cat $PROPS_PATH/$PROPS_BUILD > $PROPS_PATH/$PROPS_FILE
35 | cat $PROPS_PATH/$PROPS_TMPL >> $PROPS_PATH/$PROPS_FILE
36 | echo "======================================================================="
37 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/UnableToSaveException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class UnableToSaveException extends DatabaseException {
26 |
27 | /**
28 | * Unable to Save Exception
29 | * @param msg
30 | */
31 | public UnableToSaveException(String msg) {
32 | super(msg);
33 | }
34 |
35 | /**
36 | * Unable to Save Exception
37 | * @param msg
38 | * @param e
39 | */
40 | public UnableToSaveException(String msg, Throwable e) {
41 | super(msg, HttpStatus.BAD_REQUEST, e);
42 | }
43 |
44 | /**
45 | * Unable to Save Exception
46 | * @param e
47 | */
48 | public UnableToSaveException(Throwable e) {
49 | super("Unable to Save Data!", HttpStatus.BAD_REQUEST, e);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/DuplicateDataException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class DuplicateDataException extends DatabaseException {
26 |
27 | /**
28 | * DuplicateData Exception
29 | * @param msg
30 | */
31 | public DuplicateDataException(String msg) {
32 | super(msg);
33 | }
34 |
35 | /**
36 | * DuplicateData Exception
37 | * @param msg
38 | * @param e
39 | */
40 | public DuplicateDataException(String msg, Throwable e) {
41 | super(msg, HttpStatus.BAD_REQUEST, e);
42 | }
43 |
44 | /**
45 | * DuplicateData Exception
46 | * @param e
47 | */
48 | public DuplicateDataException(Throwable e) {
49 | super("Duplicate Data Exception!", HttpStatus.BAD_REQUEST, e);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/sbadmin2-1.0.7/README.md:
--------------------------------------------------------------------------------
1 | # [Start Bootstrap](http://startbootstrap.com/) - [SB Admin 2](http://startbootstrap.com/template-overviews/sb-admin-2/)
2 |
3 | [SB Admin 2](http://startbootstrap.com/template-overviews/sb-admin-2/) is an open source, admin dashboard template for [Bootstrap](http://getbootstrap.com/) created by [Start Bootstrap](http://startbootstrap.com/).
4 |
5 | ## Getting Started
6 |
7 | To use this template, choose one of the following options to get started:
8 | * Download the latest release on Start Bootstrap
9 | * Fork this repository on GitHub
10 | * Install via bower using `bower install startbootstrap-sb-admin-2`
11 |
12 | ## Bugs and Issues
13 |
14 | Have a bug or an issue with this template? [Open a new issue](https://github.com/IronSummitMedia/startbootstrap-sb-admin-2/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](http://startbootstrap.com/template-overviews/sb-admin-2/).
15 |
16 | ## Creator
17 |
18 | Start Bootstrap was created by and is maintained by **David Miller**, Managing Parter at [Iron Summit Media Strategies](http://www.ironsummitmedia.com/).
19 |
20 | * https://twitter.com/davidmillerskt
21 | * https://github.com/davidtmiller
22 |
23 | Start Bootstrap is based on the [Bootstrap](http://getbootstrap.com/) framework created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thorton](https://twitter.com/fat).
24 |
25 | ## Copyright and License
26 |
27 | Copyright 2013-2015 Iron Summit Media Strategies, LLC. Code released under the [Apache 2.0](https://github.com/IronSummitMedia/startbootstrap-sb-admin-2/blob/gh-pages/LICENSE) license.
28 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/DataNotFoundException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class DataNotFoundException extends DatabaseException {
26 |
27 | /**
28 | * DataNotFound Exception
29 | * @param msg
30 | */
31 | public DataNotFoundException(String msg) {
32 | super(msg, HttpStatus.NOT_FOUND, null);
33 | }
34 |
35 | /**
36 | * DataNotFound Exception
37 | * @param msg
38 | * @param e
39 | */
40 | public DataNotFoundException(String msg, Throwable e) {
41 | super(msg, HttpStatus.NOT_FOUND, e);
42 | }
43 |
44 | /**
45 | * DataNotFound Exception
46 | * @param e
47 | */
48 | public DataNotFoundException(Throwable e) {
49 | super("Data Not Found!", HttpStatus.NOT_FOUND, e);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/AuthorizationException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class AuthorizationException extends SecurityException {
26 |
27 |
28 | /**
29 | * Authorization Service Exception
30 | * @param msg
31 | */
32 | public AuthorizationException(String msg) {
33 | super(msg);
34 | }
35 |
36 | /**
37 | * Authorization Service Exception
38 | * @param msg
39 | * @param e
40 | */
41 | public AuthorizationException(String msg, Throwable e) {
42 | super(msg, HttpStatus.UNAUTHORIZED, e);
43 | }
44 |
45 | /**
46 | * Authorization Service Exception
47 | * @param e
48 | */
49 | public AuthorizationException(Throwable e) {
50 | super("", HttpStatus.UNAUTHORIZED, e);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/LimitExceededException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2023 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class LimitExceededException extends BusinessServiceException {
26 |
27 | /**
28 | * Input Data Exception
29 | */
30 | public LimitExceededException(String msg) {
31 | this(msg, null);
32 | }
33 |
34 | /**
35 | * Input Data Exception
36 | * @param msg
37 | * @param e
38 | */
39 | public LimitExceededException(String msg, Throwable e) {
40 | super("Rate Limit Exceeded: "+msg, HttpStatus.TOO_MANY_REQUESTS, e);
41 | }
42 |
43 | /**
44 | * Input Data Exception
45 | * @param e
46 | */
47 | public LimitExceededException(Throwable e) {
48 | super("Rate Limit Exceeded!", HttpStatus.TOO_MANY_REQUESTS, e);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/JWTUnDefinedException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class JWTUnDefinedException extends SecurityException {
26 |
27 |
28 | /**
29 | * JWT UnDefined Exception - FORBIDDEN
30 | * @param msg
31 | */
32 | public JWTUnDefinedException(String msg) {
33 | this(msg, null);
34 | }
35 |
36 | /**
37 | * JWT UnDefined Exception - FORBIDDEN
38 | * @param msg
39 | * @param e
40 | */
41 | public JWTUnDefinedException(String msg, Throwable e) {
42 | super(msg, HttpStatus.FORBIDDEN, e);
43 | }
44 |
45 | /**
46 | * JWT UnDefined Exception - FORBIDDEN
47 | * @param e
48 | */
49 | public JWTUnDefinedException(Throwable e) {
50 | super("", HttpStatus.FORBIDDEN, e);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/server/config/CacheDefaultConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2023 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.server.config;
17 |
18 | import org.springframework.cache.CacheManager;
19 | import org.springframework.cache.annotation.EnableCaching;
20 | import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
21 | import org.springframework.context.annotation.Bean;
22 | import org.springframework.context.annotation.Configuration;
23 |
24 | /**
25 | * @author: Araf Karsh Hamid
26 | * @version:
27 | * @date:
28 | */
29 |
30 | @Configuration
31 | @EnableCaching
32 | public class CacheDefaultConfig {
33 |
34 | public static final String RATE_LIMIT_CACHE = "RateLimitCache";
35 |
36 | @Bean(name="rateLimitCacheManager")
37 | public CacheManager cacheManager() {
38 | return new ConcurrentMapCacheManager(RATE_LIMIT_CACHE);
39 | // Redis Cache Manager
40 | // Hazelcast
41 | // JCache
42 | // EhCache
43 | // Oracle Coherence
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/jmeter/jmoutput-2023-06-20-13-27-20/content/css/legends.css:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one or more
3 | contributor license agreements. See the NOTICE file distributed with
4 | this work for additional information regarding copyright ownership.
5 | The ASF licenses this file to You under the Apache License, Version 2.0
6 | (the "License"); you may not use this file except in compliance with
7 | the License. You may obtain a copy of the License at
8 |
9 | http://www.apache.org/licenses/LICENSE-2.0
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 | */
17 | .legend {
18 | margin-left: -40px;
19 | font-size: 12px;
20 | display: inline;
21 | font-family: 'Open Sans';
22 | font-weight: bold;
23 | }
24 |
25 | .panel-footer
26 | {
27 |
28 | }
29 |
30 | .subLegend
31 | {
32 |
33 | }
34 |
35 | .legend li > div {
36 | display: inline-block;
37 | margin-right: 3px;
38 | margin-left: 5px;
39 | }
40 |
41 | .legend li label {
42 | margin-left: 1px;
43 | margin-right: 10px;
44 | color: black;
45 | font-family: Open sans;
46 | /*width: 200px;*/
47 | }
48 | li
49 | {
50 | list-style-type:none;
51 | display: inline-block;
52 | }
53 |
54 | .nav-third-level
55 | {
56 | font-size: 12px;
57 | }
58 |
59 | .legend-disabled {
60 | border-color: #818181 !important;
61 | }
62 |
--------------------------------------------------------------------------------
/src/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | #################################################################
2 | #
3 | # Microservice Container Template
4 | # (C) MetaMagic Global Inc, NJ, USA, 2022
5 | # Apache 2.0 License
6 | #
7 | # Container Name: ms-cache-service
8 | #
9 | # Microservices Containers - SpringBoot 2.7.0 / Java 17
10 | #
11 | # Version 0.1
12 | #################################################################
13 | # Base Version
14 | #FROM metamagic/java:8
15 | FROM metamagic/java:17
16 |
17 | LABEL author="Araf Karsh Hamid "
18 |
19 | RUN mkdir /Softwares/service
20 | RUN mkdir /Softwares/service/libs
21 | RUN mkdir /home/poduser/libs
22 |
23 | ARG SPRINGBOOT_JAR=ms-cache-service-spring-boot.jar
24 | ARG MAVEN_JAR=ms-cache-service-thin.jar
25 |
26 | # Copy Service (Install)
27 | # COPY --chown=poduser:poduser StartService /Softwares/service/
28 | COPY --chown=poduser:poduser application.properties /home/poduser/
29 | COPY --chown=poduser:poduser application.properties /Softwares/service/
30 | # SpringBoot Fat Jar
31 | COPY --chown=poduser:poduser ${SPRINGBOOT_JAR} /Softwares/service/
32 |
33 | # Maven Thin Jar
34 | #COPY --chown=poduser:poduser ${MAVEN_JAR} /Softwares/service/
35 | #COPY --chown=poduser:poduser /libs /Softwares/service/libs/
36 | #COPY --chown=poduser:poduser /libs /home/poduser/libs/
37 |
38 | # Change the Mode
39 | RUN chmod -R 750 /Softwares/service/*
40 |
41 | # Expose Microservice Port
42 | EXPOSE 9090
43 |
44 | USER poduser
45 |
46 | # Start Microservice
47 | #ENTRYPOINT ["java","-jar","/Softwares/service/ms-cache-service-thin.jar"]
48 | ENTRYPOINT ["java","-jar","/Softwares/service/ms-cache-service-spring-boot.jar"]
49 |
50 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/tools/CalculatorTool.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.tools;
17 |
18 | import dev.langchain4j.agent.tool.Tool;
19 | import io.fusion.air.microservice.utils.Std;
20 |
21 | /**
22 | * Calculator Tool Implementation
23 | *
24 | * @author: Araf Karsh Hamid
25 | * @version:
26 | * @date:
27 | */
28 | public class CalculatorTool {
29 |
30 | @Tool("Calculates the length of a string")
31 | public int stringLength(String s) {
32 | Std.println("Called stringLength() with s='" + s + "'");
33 | return s.length();
34 | }
35 |
36 | @Tool("Calculates the sum of two numbers")
37 | public int add(int a, int b) {
38 | Std.println("Called add() with a=" + a + ", b=" + b);
39 | return a + b;
40 | }
41 |
42 | @Tool("Calculates the square root of a number")
43 | public double sqrt(int x) {
44 | Std.println("Called sqrt() with x=" + x);
45 | return Math.sqrt(x);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/JWTTokenExpiredException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class JWTTokenExpiredException extends SecurityException {
26 |
27 |
28 | /**
29 | * JWT Token Expired Exception - FORBIDDEN
30 | * @param msg
31 | */
32 | public JWTTokenExpiredException(String msg) {
33 | this(msg, null);
34 | }
35 |
36 | /**
37 | * JWT Token Expired Exception - FORBIDDEN
38 | * @param msg
39 | * @param e
40 | */
41 | public JWTTokenExpiredException(String msg, Throwable e) {
42 | super(msg, HttpStatus.FORBIDDEN, e);
43 | }
44 |
45 | /**
46 | * JWT Token Expired Exception - FORBIDDEN
47 | * @param e
48 | */
49 | public JWTTokenExpiredException(Throwable e) {
50 | super("", HttpStatus.FORBIDDEN, e);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/JWTTokenSubjectException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class JWTTokenSubjectException extends SecurityException {
26 |
27 |
28 | /**
29 | * JWT Token Subject Exception - FORBIDDEN
30 | * @param msg
31 | */
32 | public JWTTokenSubjectException(String msg) {
33 | this(msg, null);
34 | }
35 |
36 | /**
37 | * JWT Token Subject Exception - FORBIDDEN
38 | * @param msg
39 | * @param e
40 | */
41 | public JWTTokenSubjectException(String msg, Throwable e) {
42 | super(msg, HttpStatus.FORBIDDEN, e);
43 | }
44 |
45 | /**
46 | * JWT Token Subject Exception - FORBIDDEN
47 | * @param e
48 | */
49 | public JWTTokenSubjectException(Throwable e) {
50 | super("", HttpStatus.FORBIDDEN, e);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/JWTInvalidSignatureException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class JWTInvalidSignatureException extends SecurityException {
26 |
27 |
28 | /**
29 | * JWT UnDefined Exception - FORBIDDEN
30 | * @param msg
31 | */
32 | public JWTInvalidSignatureException(String msg) {
33 | this(msg, null);
34 | }
35 |
36 | /**
37 | * JWT UnDefined Exception - FORBIDDEN
38 | * @param msg
39 | * @param e
40 | */
41 | public JWTInvalidSignatureException(String msg, Throwable e) {
42 | super(msg, HttpStatus.FORBIDDEN, e);
43 | }
44 |
45 | /**
46 | * JWT UnDefined Exception - FORBIDDEN
47 | * @param e
48 | */
49 | public JWTInvalidSignatureException(Throwable e) {
50 | super("", HttpStatus.FORBIDDEN, e);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/DataVersionMismatchException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class DataVersionMismatchException extends DatabaseException {
26 |
27 | /**
28 | * Data Version Mismatch Exception
29 | * @param msg
30 | */
31 | public DataVersionMismatchException(String msg) {
32 | super(msg);
33 | }
34 |
35 | /**
36 | * Data Version Mismatch Exception
37 | * @param msg
38 | * @param e
39 | */
40 | public DataVersionMismatchException(String msg, Throwable e) {
41 | super(msg, HttpStatus.BAD_REQUEST, e);
42 | }
43 |
44 | /**
45 | * Data Version Mismatch Exception
46 | * @param e
47 | */
48 | public DataVersionMismatchException(Throwable e) {
49 | super("Duplicate Data Exception!", HttpStatus.BAD_REQUEST, e);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/JWTTokenExtractionException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class JWTTokenExtractionException extends SecurityException {
26 |
27 |
28 | /**
29 | * JWT Token Extraction Exception - FORBIDDEN
30 | * @param msg
31 | */
32 | public JWTTokenExtractionException(String msg) {
33 | this(msg, null);
34 | }
35 |
36 | /**
37 | * JWT Token Extraction Exception - FORBIDDEN
38 | * @param msg
39 | * @param e
40 | */
41 | public JWTTokenExtractionException(String msg, Throwable e) {
42 | super(msg, HttpStatus.FORBIDDEN, e);
43 | }
44 |
45 | /**
46 | * JWT Token Extraction Exception - FORBIDDEN
47 | * @param e
48 | */
49 | public JWTTokenExtractionException(Throwable e) {
50 | super("", HttpStatus.FORBIDDEN, e);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/utils/DateJsonSerializer.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.utils;
17 | // Java
18 |
19 | import com.fasterxml.jackson.core.JsonGenerator;
20 | import com.fasterxml.jackson.databind.SerializerProvider;
21 | import com.fasterxml.jackson.databind.ser.std.StdSerializer;
22 |
23 | import java.io.IOException;
24 | import java.time.LocalDateTime;
25 |
26 | /**
27 | * @author: Araf Karsh Hamid
28 | * @version:
29 | * @date:
30 | */
31 | public class DateJsonSerializer extends StdSerializer {
32 | private static final long serialVersionUID = -7035242849275956037L;
33 |
34 | /**
35 | * Constructor
36 | */
37 | public DateJsonSerializer() {
38 | super(LocalDateTime.class);
39 | }
40 |
41 | /**
42 | * Serialize the date
43 | * @param value
44 | * @param gen
45 | * @param provider
46 | * @throws IOException
47 | */
48 | @Override
49 | public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider provider)
50 | throws IOException {
51 | gen.writeString(value.toString());
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/domain/exceptions/MandatoryDataRequiredException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.domain.exceptions;
17 |
18 | import org.springframework.http.HttpStatus;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | public class MandatoryDataRequiredException extends BusinessServiceException {
26 |
27 |
28 | /**
29 | * MandatoryDataRequired Service Exception
30 | * @param msg
31 | */
32 | public MandatoryDataRequiredException(String msg) {
33 | super(msg);
34 | }
35 |
36 | /**
37 | * MandatoryDataRequired Service Exception
38 | * @param msg
39 | * @param e
40 | */
41 | public MandatoryDataRequiredException(String msg, Throwable e) {
42 | super(msg, HttpStatus.BAD_REQUEST, e);
43 | }
44 |
45 | /**
46 | * MandatoryDataRequired Service Exception
47 | * @param e
48 | */
49 | public MandatoryDataRequiredException(Throwable e) {
50 | super("Mandatory Data Required!", HttpStatus.BAD_REQUEST, e);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/resources/logback-spring.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/ai/genai/core/prompts/StructuredPromptFeelings.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2024 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.ai.genai.core.prompts;
17 |
18 | import dev.langchain4j.model.input.structured.StructuredPrompt;
19 |
20 | /**
21 | * @author: Araf Karsh Hamid
22 | * @version:
23 | * @date:
24 | */
25 | @StructuredPrompt({
26 | "Convey the feelings {{feeling}} based on the content {{content}}.",
27 | "Structure your answer in the following way:",
28 | "Feeling: ...",
29 | "Key points: ...",
30 | "Explanation: ..."
31 | })
32 | public class StructuredPromptFeelings {
33 |
34 | private final String feeling;
35 | private final String content;
36 |
37 | /**
38 | * @param feeling
39 | * @param content
40 | */
41 | public StructuredPromptFeelings(String feeling, String content) {
42 | this.feeling = feeling;
43 | this.content = content;
44 | }
45 |
46 | public String getFeeling() {
47 | return feeling;
48 | }
49 |
50 | public String getContent() {
51 | return content;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/src/main/java/io/fusion/air/microservice/adapters/security/service/UserDetailsServiceImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | * (C) Copyright 2022 Araf Karsh Hamid
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package io.fusion.air.microservice.adapters.security.service;
17 | // Spring
18 | import org.springframework.security.core.userdetails.User;
19 | import org.springframework.security.core.userdetails.UserDetails;
20 | import org.springframework.security.core.userdetails.UserDetailsService;
21 | import org.springframework.security.core.userdetails.UsernameNotFoundException;
22 | import org.springframework.stereotype.Service;
23 |
24 | import java.util.ArrayList;
25 |
26 | /**
27 | * @author: Araf Karsh Hamid
28 | * @version:
29 | * @date:
30 | */
31 | @Service
32 | public class UserDetailsServiceImpl implements UserDetailsService {
33 |
34 | /**
35 | * Returns Spring UserDetails Object.
36 | * This service doesnt do any database look and it returns the UserDetails
37 | * object with the same user name.
38 | */
39 | @Override
40 | public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
41 | return new User(username, "", new ArrayList<>());
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/llms/README.md:
--------------------------------------------------------------------------------
1 | # Install Local LLMs
2 |
3 |
4 | ## Download Ollama
5 |
6 | Go To the Web site: https://ollama.com/download
7 | Download for Mac, Windows and Linux.
8 |
9 | For Linux
10 | ```
11 | curl -fsSL https://ollama.com/install.sh | sh
12 | ```
13 |
14 | For Vision Models
15 | Go To the web site: https://ollama.com/blog/vision-models
16 |
17 | For Math Problems
18 | Go To the Web Site: https://ollama.com/blog/wizardmath-examples
19 |
20 | ## List all LLMs in Ollama
21 |
22 | 
23 |
24 | ## Run Various LLMs using Ollama CLI
25 |
26 | ### 1. Meta (FaceBook) Llama3
27 | ```
28 | ollama run llama3
29 | ```
30 |
31 | ### 2. Mistral
32 |
33 | ```
34 | ollama run mistral
35 | ```
36 |
37 | ### 3. Microsoft PHI-3
38 | ```
39 | ollama run phi3
40 | ```
41 |
42 | ### 4. Google Gemma
43 | ```
44 | ollama run gemma
45 | ```
46 |
47 | ### 5. Falcon 2
48 | ```
49 | ollama run falcon2
50 | ```
51 |
52 | ### 6. Math Problems
53 | ```
54 | ollama run wizard-math:7b
55 | ```
56 |
57 | (C) Copyright 2024-25 : Apache 2 License : Author: Araf Karsh Hamid
58 |
59 |
60 | * Licensed under the Apache License, Version 2.0 (the "License");
61 | * you may not use this file except in compliance with the License.
62 | * You may obtain a copy of the License at
63 | *
64 | * http://www.apache.org/licenses/LICENSE-2.0
65 | *
66 | * Unless required by applicable law or agreed to in writing, software
67 | * distributed under the License is distributed on an "AS IS" BASIS,
68 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
69 | * See the License for the specific language governing permissions and
70 | * limitations under the License.
71 |
72 |
--------------------------------------------------------------------------------