{"id":24524397,"url":"https://github.com/devonfw/my-thai-star","last_synced_at":"2025-04-09T18:17:39.403Z","repository":{"id":37531653,"uuid":"96104298","full_name":"devonfw/my-thai-star","owner":"devonfw","description":"My Thai Star reference application for devonfw","archived":false,"fork":false,"pushed_at":"2025-04-04T14:02:08.000Z","size":71250,"stargazers_count":49,"open_issues_count":83,"forks_count":125,"subscribers_count":105,"default_branch":"develop","last_synced_at":"2025-04-09T18:17:30.367Z","etag":null,"topics":["asset-mts"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devonfw.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING_GUIDE.asciidoc","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.asciidoc","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-03T11:35:38.000Z","updated_at":"2024-09-27T00:26:47.000Z","dependencies_parsed_at":"2023-02-18T07:15:57.988Z","dependency_job_id":"f153d168-f29d-4986-81a4-976dd098d47f","html_url":"https://github.com/devonfw/my-thai-star","commit_stats":{"total_commits":2911,"total_committers":74,"mean_commits":39.33783783783784,"dds":0.829611817244933,"last_synced_commit":"c63bb7573870099580fe6d6572045af83353dda5"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devonfw%2Fmy-thai-star","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devonfw%2Fmy-thai-star/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devonfw%2Fmy-thai-star/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devonfw%2Fmy-thai-star/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devonfw","download_url":"https://codeload.github.com/devonfw/my-thai-star/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085321,"owners_count":21045139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asset-mts"],"created_at":"2025-01-22T04:19:35.904Z","updated_at":"2025-04-09T18:17:39.381Z","avatar_url":"https://github.com/devonfw.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"= My Thai Star\n\ndevelop: image:https://travis-ci.com/devonfw/my-thai-star.svg?branch=develop[\"build-status\",link=\"https://travis-ci.com/devonfw/my-thai-star\"]\n\nLive URL : https://mts-devonfw-core.cloud.okteto.net/\n\nThis repository is an **ADCS Capgemini** initiative that hosts an application reference called **My Thai Star**. This application is about the management of a restaurant.\n\n== Technologies\n\nThis project is intended to be an example for the usage of new technologies in web development. Here is a list of all technologies involved:\n\n* **Angular**\n\nClient-side developed using the latest version of this framework: Angular 10.\n\n* **Java**\n\nServer-side developed using the 2020.08.001 version of **devon4j**.\n\n* **Node**\n\nServer-side developed using the basics of the NestJS framework. A node.js framework built on top of Express.js based on TypeScript language. This server-side backend is based on the **devon4node** incubator.\n\n* **.NET**\n\nServer-side developed using the **dotnet** framework.\n\n* **Swagger**\n\nUsed this technology to define contracts between client-side(s) and server-side(s). So necessary when every back-end of the project (.NET, NodeJS and Java) is prepared to match with the Angular client exactly in the same way, being transparent to the user.\n\n* **Production Line**\n\nTool used for Continuous Integration and Continuous Delivery. Inside of this Jenkins and SonarQube are used. Also used **Docker** for the deployment in an external server.\n\n* **Mr Checker**\n\nMrChecker is a testing framework included in devonfw with several useful modules, from which we will focus on the Selenium Module, a module designed to make end-to-end testing easier to implement. More about it link:https://github.com/devonfw/devonfw-testing/wiki[here].\n\n=== Deprecated\n\nSome folders have been marked as __deprecated__. They have not been removed for information purposes and in case it is necessary to recover previous work. They are the following:\n\n- graphQL\n- serverless \n\nUse them at your own risk. \n\n== Deployment\n\n=== From code\n\nThis application can be easily deployed using **Docker** and **docker-compose**.\n\n`$ docker-compose up`\n\nAs both **Angular** and **Java** `Dockerfile`(s) are using **multi-stage build**, apps are being built in their development environments (`node` for Angular and `maven` for Java) and then deployed in `nginx` and `tomcat` respectively.\n\n3 Docker containers will be created:\n\n```\nCONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                                        NAMES\n23921e672489        mythaistar_java            \"catalina.sh run\"        3 minutes ago       Up 3 minutes        8080/tcp                                     mts_java\n1acf2d6b6653        mythaistar_reverse-proxy   \"nginx -g 'daemon of…\"   3 minutes ago       Up 3 minutes        0.0.0.0:443-\u003e443/tcp, 0.0.0.0:8080-\u003e80/tcp   mts_reverse_proxy\nfdb63e26d299        mythaistar_angular         \"nginx -g 'daemon of…\"   3 minutes ago       Up 3 minutes        80/tcp, 443/tcp                              mts_angular\n```\n\nThe usage of the `reverse-proxy` only uses 1 port of the Docker host (where this is deployed), the `8080`. All internal communication of containers is done using docker alias of services.\n\n=== From artifact\n\nIf we are using a CICD pipeline and we store the artifact on nexus, we can also deploy it without recompile all code. For this purpose there are three deployment pipelines:\n\n- deployment: deploy all application with a reserve-proxy\n- java: deploy only the java application\n- angular: deploy angular application + reverse-proxy (you must run the java deployment at least once before running this deployment)\n\nThe result of this deployment will be the same as in the deployment from code, but instead of compiling the artifact again downloads it from nexus. All resources (docker-compose.yml, Dockerfiles and nginx.conf) are stored in the reverse-proxy folder.\n\n=== In Kubernetes\n\nIf you are using k8s yaml files (inside \"k8s\" folder) and deploy in Kubernetes Clusters, then, please refer the following:\n\n- For AWS EKS Cluster, click link:https://github.com/devonfw/my-thai-star/blob/develop/k8s/aws-k8s-steps.adoc[here].\n- For Azure AKS Cluster, click link:https://github.com/devonfw/my-thai-star/blob/develop/k8s/azure-k8s-steps.adoc[here].\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevonfw%2Fmy-thai-star","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevonfw%2Fmy-thai-star","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevonfw%2Fmy-thai-star/lists"}