{"id":46732658,"url":"https://github.com/wastingnotime/contacts-backend-dotnet","last_synced_at":"2026-03-09T15:37:10.297Z","repository":{"id":44168892,"uuid":"272438963","full_name":"wastingnotime/contacts-backend-dotnet","owner":"wastingnotime","description":"This repository maintain a dotnet/webapi application that is part of \"contacts\" project, an initiative to explore technologies features.","archived":false,"fork":false,"pushed_at":"2025-04-08T11:53:08.000Z","size":43,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-08T12:39:26.267Z","etag":null,"topics":["crud-api","dotnet","entity-framework","migrations","sqlite","webapi"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wastingnotime.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-06-15T12:55:59.000Z","updated_at":"2025-04-08T11:53:12.000Z","dependencies_parsed_at":"2024-06-21T10:49:09.816Z","dependency_job_id":"cec37fa8-dfb9-4017-92e7-d99cb6d94630","html_url":"https://github.com/wastingnotime/contacts-backend-dotnet","commit_stats":null,"previous_names":["wastingnotime/contacts-backend-dotnet"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/wastingnotime/contacts-backend-dotnet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wastingnotime%2Fcontacts-backend-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wastingnotime%2Fcontacts-backend-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wastingnotime%2Fcontacts-backend-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wastingnotime%2Fcontacts-backend-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wastingnotime","download_url":"https://codeload.github.com/wastingnotime/contacts-backend-dotnet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wastingnotime%2Fcontacts-backend-dotnet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30301117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T14:33:48.460Z","status":"ssl_error","status_checked_at":"2026-03-09T14:33:48.027Z","response_time":61,"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":["crud-api","dotnet","entity-framework","migrations","sqlite","webapi"],"created_at":"2026-03-09T15:37:08.918Z","updated_at":"2026-03-09T15:37:10.276Z","avatar_url":"https://github.com/wastingnotime.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# contacts-backend-dotnet\n\n**contacts-backend-dotnet** is part of \"contacts\" project that is an initiative where we try to explore frontend and backend implementations in order to better understand it cutting-edge features. This repository presents a dotnet rest API sample.\n\n## status\n\nThis repository belongs to the Contacts reference initiative started in 2020.\n\nIts purpose was to understand how different stacks shape design decisions around the same domain model.\n\nAs of 2026, this project is frozen.\n\nThe exploration phase has been completed.  \nMy current focus is depth, invariants, and system coherence rather than stack comparison.\n\nThis code remains as historical reference.\n\n\n## stack\n* dotnet 9.0\n* webapi\n* sqlite\n* entity framework\n\n## features\n* migrations\n\n\n\n## get started (linux instructions only)\n\n### option 1 - use latest docker image from dockerhub\n\nexecute the remote docker image\n```\ndocker run -p 8010:8080 wastingnotime/contacts-backend-dotnet:0.1.0-alpha\n```\n\n### option 2 - build and run a local docker image\nbuild a local docker image\n```\ndocker build --tag contacts-backend-dotnet .\n```\n\nexecute the local docker image\n```\ndocker run -p 8010:8080 contacts-backend-dotnet\n```\n\n### option 3 - execute from source code\n\n- install dotnet 9 [how to](https://learn.microsoft.com/en-us/dotnet/core/install/linux)\n- go to root of solution and execute the commands below\n\nset environment for development\n```\ncp .env_example .env\n```\n\nupdate deps\n```\ndotnet restore\n```\n\ninstall migration tool (only once)\n```\ndotnet tool install --global dotnet-ef\n```\n\nrun migrations\n```\ndotnet ef database update\n```\n\nand then run the application\n```\ndotnet run \n```\n\n## testing\ncreate a new contact\n```\ncurl --request POST \\\n  --url http://localhost:8010/contacts \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n\t\"firstName\": \"Albert\",\n\t\"lastName\": \"Einstein\",\n\t\"phoneNumber\": \"2222-1111\"\n  }'\n```\n\nretrieve existing contacts\n```\ncurl --request GET \\\n  --url http://localhost:8010/contacts\n```\nmore examples and details about requests on [verify.rest](https://raw.githubusercontent.com/wastingnotime/contacts-backend-dotnet/refs/heads/main/verify.rest)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwastingnotime%2Fcontacts-backend-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwastingnotime%2Fcontacts-backend-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwastingnotime%2Fcontacts-backend-dotnet/lists"}