{"id":24015932,"url":"https://github.com/tessecrack/clientserverapp","last_synced_at":"2026-04-14T04:31:48.384Z","repository":{"id":271264000,"uuid":"912887694","full_name":"Tessecrack/ClientServerApp","owner":"Tessecrack","description":"C#. Template client server application (CRUD)","archived":false,"fork":false,"pushed_at":"2025-01-06T16:32:45.000Z","size":3965,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-06T17:19:46.640Z","etag":null,"topics":["blazor","clean-architecture","crud","csharp","docker","entity-framework","postgres","webapi"],"latest_commit_sha":null,"homepage":"","language":"C#","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/Tessecrack.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":"2025-01-06T15:45:09.000Z","updated_at":"2025-01-06T16:32:48.000Z","dependencies_parsed_at":"2025-01-06T17:29:53.267Z","dependency_job_id":null,"html_url":"https://github.com/Tessecrack/ClientServerApp","commit_stats":null,"previous_names":["tessecrack/clientserverapp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tessecrack%2FClientServerApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tessecrack%2FClientServerApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tessecrack%2FClientServerApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tessecrack%2FClientServerApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tessecrack","download_url":"https://codeload.github.com/Tessecrack/ClientServerApp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240729867,"owners_count":19848238,"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":["blazor","clean-architecture","crud","csharp","docker","entity-framework","postgres","webapi"],"created_at":"2025-01-08T08:23:12.106Z","updated_at":"2026-04-14T04:31:48.378Z","avatar_url":"https://github.com/Tessecrack.png","language":"C#","readme":"# ClientServerApp  \n### Stack  \nNET 8; C# ASP NET Minimal Web API; Blazor; EF Core; PostgreSQL;   \n### Quick start\nfrom folder `src` use command:  \n\n`docker compose up -d` \n\nthen go to http://localhost:8081  \n  \n![Screenshot](screenshots/client.png)\n  \n### Desc\nIt is a simple  client-server  application  that  keeps  track of users (CRUD).\n\n### Application structure\nServer starts from _src/backend/ClientServerApp.WebAPI_. Default local host is http://localhost:5000. Also, you can use swagger http://localhost:5000/swagger/index.html  \nlayer _src/backend/ClientServerApp.Client_. for frontend.  \nWebUI starts on http://localhost:8081 (in development/production environment)  \n### Start without `docker compose`\nbefore you need to create docker network (bridge) `appnet` for app.  \nuse this command:  \n`docker network create appnet`  \n  \nFirst. Deploy database (Postgres)\nuse this command:  \n`docker run --net=appnet --name db-container -e POSTGRES_PASSWORD=1111 -e POSTGRES_DB=db_users -d -p 5431:5432 postgres`    \n\nSecond.Deploy backend from dockerfile \n(src/backend/ClientServerApp.WebAPI/dockerfile)  \nbefore you need to use command:\n`dotnet publish -o published -c Release`  \n```docker\nFROM mcr.microsoft.com/dotnet/aspnet:8.0  AS  runtime\nWORKDIR  /app/webapi\nCOPY  published/  ./\nCMD  [  \"dotnet\",  \"ClientServerApp.WebAPI.dll\"  ]\n```  \n`docker build . -t webapi-image`  \n`docker run --net=appnet --name webapi-container -d -p 8080:8080 webapi-image`\n\nDeploy frontend from dockerfile\n(src/frontend/ClientServerApp.BlazorUI/dockerfile)\nbefore you need to use command:\n`dotnet publish -o published -c Release`  \n```docker\nFROM mcr.microsoft.com/dotnet/aspnet:8.0  AS  runtime\nWORKDIR  /app/client\nCOPY  published/  ./\nENV  WEB_API_ADDRESS=http://webapi-container:8080\nENV  ASPNETCORE_HTTP_PORTS=8081\nCMD  [  \"dotnet\",  \"ClientServerApp.BlazorUI.dll\"  ]\n```\n`docker build . -t client-image`  \n`docker run --net=appnet --name client-container -d -p 8081:8081 client-image`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftessecrack%2Fclientserverapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftessecrack%2Fclientserverapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftessecrack%2Fclientserverapp/lists"}