{"id":48355487,"url":"https://github.com/delftdata/wdm-project-template","last_synced_at":"2026-04-05T11:04:10.389Z","repository":{"id":106505454,"uuid":"375035357","full_name":"delftdata/wdm-project-template","owner":"delftdata","description":"Template project for TU Delft's Web-scale Data Management course","archived":false,"fork":false,"pushed_at":"2024-04-14T21:29:51.000Z","size":1092,"stargazers_count":4,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-21T04:48:57.835Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/delftdata.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}},"created_at":"2021-06-08T14:17:30.000Z","updated_at":"2024-05-22T13:41:10.198Z","dependencies_parsed_at":"2024-05-22T13:41:06.762Z","dependency_job_id":"69ac16f9-2b7c-4a45-aa65-9f057c75f4b7","html_url":"https://github.com/delftdata/wdm-project-template","commit_stats":null,"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"purl":"pkg:github/delftdata/wdm-project-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delftdata%2Fwdm-project-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delftdata%2Fwdm-project-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delftdata%2Fwdm-project-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delftdata%2Fwdm-project-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delftdata","download_url":"https://codeload.github.com/delftdata/wdm-project-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delftdata%2Fwdm-project-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31433044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-04-05T11:04:09.824Z","updated_at":"2026-04-05T11:04:10.347Z","avatar_url":"https://github.com/delftdata.png","language":"Python","readme":"# Distributed Data Systems Project Template\n\nBasic project structure with Python's Flask and Redis. \n**You are free to use any web framework in any language and any database you like for this project.**\n\n### Project structure\n\n* `env`\n    Folder containing the Redis env variables for the docker-compose deployment\n    \n* `helm-config` \n   Helm chart values for Redis and ingress-nginx\n        \n* `k8s`\n    Folder containing the kubernetes deployments, apps and services for the ingress, order, payment and stock services.\n    \n* `order`\n    Folder containing the order application logic and dockerfile. \n    \n* `payment`\n    Folder containing the payment application logic and dockerfile. \n\n* `stock`\n    Folder containing the stock application logic and dockerfile. \n\n* `test`\n    Folder containing some basic correctness tests for the entire system. (Feel free to enhance them)\n\n### Deployment types:\n\n#### docker-compose (local development)\n\nAfter coding the REST endpoint logic run `docker-compose up --build` in the base folder to test if your logic is correct\n(you can use the provided tests in the `\\test` folder and change them as you wish). \n\n***Requirements:*** You need to have docker and docker-compose installed on your machine. \n\nK8s is also possible, but we do not require it as part of your submission. \n\n#### minikube (local k8s cluster)\n\nThis setup is for local k8s testing to see if your k8s config works before deploying to the cloud. \nFirst deploy your database using helm by running the `deploy-charts-minicube.sh` file (in this example the DB is Redis \nbut you can find any database you want in https://artifacthub.io/ and adapt the script). Then adapt the k8s configuration files in the\n`\\k8s` folder to mach your system and then run `kubectl apply -f .` in the k8s folder. \n\n***Requirements:*** You need to have minikube (with ingress enabled) and helm installed on your machine.\n\n#### kubernetes cluster (managed k8s cluster in the cloud)\n\nSimilarly to the `minikube` deployment but run the `deploy-charts-cluster.sh` in the helm step to also install an ingress to the cluster. \n\n***Requirements:*** You need to have access to kubectl of a k8s cluster.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelftdata%2Fwdm-project-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelftdata%2Fwdm-project-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelftdata%2Fwdm-project-template/lists"}