{"id":30749761,"url":"https://github.com/manonworldrepository/capgemini","last_synced_at":"2026-04-11T09:41:28.883Z","repository":{"id":310199320,"uuid":"1019735475","full_name":"manonworldrepository/capgemini","owner":"manonworldrepository","description":"Capgemini Senior Software Engineer Task Solution","archived":false,"fork":false,"pushed_at":"2025-08-16T11:26:14.000Z","size":389,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-16T13:40:04.992Z","etag":null,"topics":["docker","github-actions","hibernate","jpa","kubernetes","maven","proxy","proxysql","query","sentinel","spring-boot","sql"],"latest_commit_sha":null,"homepage":"https://www.linkedin.com/in/mostafa-abdelhamid-atwa-067a0a26b/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manonworldrepository.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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,"zenodo":null}},"created_at":"2025-07-14T19:38:27.000Z","updated_at":"2025-08-16T11:27:49.000Z","dependencies_parsed_at":"2025-08-16T13:40:14.829Z","dependency_job_id":null,"html_url":"https://github.com/manonworldrepository/capgemini","commit_stats":null,"previous_names":["manonworldrepository/capgemini"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/manonworldrepository/capgemini","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manonworldrepository%2Fcapgemini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manonworldrepository%2Fcapgemini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manonworldrepository%2Fcapgemini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manonworldrepository%2Fcapgemini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manonworldrepository","download_url":"https://codeload.github.com/manonworldrepository/capgemini/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manonworldrepository%2Fcapgemini/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273567601,"owners_count":25128631,"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","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","github-actions","hibernate","jpa","kubernetes","maven","proxy","proxysql","query","sentinel","spring-boot","sql"],"created_at":"2025-09-04T06:46:14.161Z","updated_at":"2026-04-11T09:41:28.876Z","avatar_url":"https://github.com/manonworldrepository.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Capgemini Twilight Project Test Assessment\n\nFor the Twilight project we are looking for new developers. Because this project is high in both complexity and pressure,  \nthe requirement is that new developers are already familiar with the Spring framework and Java version 17.\n\n*If at any time you have questions, feel free to ask! We would not expect you to work on the project alone without asking if you are blocked by something.*\n\nYou have _four_ hours to complete the test:\n\n1) Make all tests from AssessmentApplicationTests pass.\n2) Write good, clean, readable code.\n3) Think about how you structure your code.\n4) When done, zip your project and mail it back to the person you got it from.\n\nYou are free to use the internet to look up things. That's how all good coders work. However, make sure you understand what you copy ;)\n\n# Solution:\n\n## Start the application on kubernetes:\n\n``` docker build -t proxysql-custom:k8s-local -f Dockerfile.proxysql . ```\n\n``` docker build -t book-author-api:k8s-local -f Dockerfile.native . ```\n\n``` minikube start --memory 8192 --cpus 4 ```\n\n``` eval $(minikube -p minikube docker-env) ```\n\n``` minikube image load proxysql-custom:k8s-local ```\n\n``` minikube image load book-author-api:k8s-local ```\n\n``` kubectl apply -f k8s-pvc.yml ```\n\n``` kubectl create configmap proxysql-config --from-file=proxysql.cnf ```\n\n``` kubectl apply -f k8s-deployment.yml ```\n\n## Stop the application on kubernetes:\n\n``` minikube delete ```\n\n## Start the application on docker:\n\n``` docker compose up -d --build ```\n\n## Stop the application on docker:\n\n``` docker compose down ```\n\n## Browse the application:\n\nPoint your browser to: ``` http://localhost:8080/swagger-ui.html ```\n\n\n# Architecture:\n\n![arch.png](arch.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanonworldrepository%2Fcapgemini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanonworldrepository%2Fcapgemini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanonworldrepository%2Fcapgemini/lists"}