{"id":23825975,"url":"https://github.com/peaklims/peaklimsapi","last_synced_at":"2025-08-29T09:23:58.236Z","repository":{"id":62092680,"uuid":"548710046","full_name":"peaklims/PeakLimsApi","owner":"peaklims","description":"🧬 Source-available fair-code licensed LIMS. The laboratory software you'll enjoy using.","archived":false,"fork":false,"pushed_at":"2025-08-26T06:04:22.000Z","size":1326,"stargazers_count":69,"open_issues_count":10,"forks_count":14,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-28T13:40:33.085Z","etag":null,"topics":["cqrs","ddd","design-patterns","docker","domain-driven-design","dotnet","integration-testing","laboratory-information-management-system","lims","testing","unit-testing","vertical-slice-architecture","web-api"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peaklims.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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":"2022-10-10T04:03:15.000Z","updated_at":"2025-08-12T12:18:19.000Z","dependencies_parsed_at":"2025-04-09T21:18:31.770Z","dependency_job_id":"c255c603-6039-42fd-b925-ae201fd298e1","html_url":"https://github.com/peaklims/PeakLimsApi","commit_stats":null,"previous_names":["peaklims/peaklimsapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/peaklims/PeakLimsApi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peaklims%2FPeakLimsApi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peaklims%2FPeakLimsApi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peaklims%2FPeakLimsApi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peaklims%2FPeakLimsApi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peaklims","download_url":"https://codeload.github.com/peaklims/PeakLimsApi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peaklims%2FPeakLimsApi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272659284,"owners_count":24971607,"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-08-29T02:00:10.610Z","response_time":87,"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":["cqrs","ddd","design-patterns","docker","domain-driven-design","dotnet","integration-testing","laboratory-information-management-system","lims","testing","unit-testing","vertical-slice-architecture","web-api"],"created_at":"2025-01-02T12:09:53.258Z","updated_at":"2025-08-29T09:23:58.185Z","avatar_url":"https://github.com/peaklims.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PeakLimsApi\n\n## Getting Started\n1. Run `docker-compose up --build` from your `.sln` directory to spin up your database(s) and other supporting \ninfrastructure depending on your configuration (e.g. RabbitMQ, Keycloak, Jaeger, etc.).\n2. Setup the Keycloak auth server with Pulumi:\n    1. [Install the pulumi CLI](https://www.pulumi.com/docs/get-started/)\n    1. `cd` to your scaffolded Pulumi project\n    1. Run `pulumi login --local` to use Pulumi locally\n    1. Run `pulumi up` to start the scaffolding process\n       \u003e Note: The stack name must match the extension on your yaml config file (e.g. `Pulumi.dev.yaml`) would have a stack of `dev`.\n    1. Select yes to apply the configuration to your local Keycloak instance.\n       \u003e If you want to reset your pulumi configuration, run `pulumi destroy` to remove all the resources and then `pulumi up` again to start fresh.\n3. If running a BFF:\n    1. Make sure you have [`pnpm` installed](https://pnpm.io/installation)\n    1. Run the project with `dotnet run` or your IDE\n4. If you want to use the corresponding UI, clone down [the UI repo](https://github.com/peaklims/peaklims-ui) and follow the instructions in the README.\n\n### Running Your Project(s)\nOnce you have your database(s) running, you can run your API(s), BFF, and Auth Server by using \nthe `dotnet run` command or running your projects from your IDE of choice.   \n\n### Migrations\nMigrations should be applied for you automatically on startup, but if you have any any issues, you can do the following:\n    1. Make sure you have a migrations in your boundary project (there should be a `Migrations` directory in the project directory). \n    If there isn't see [Running Migrations](#running-migrations) below.\n    2. Confirm your environment (`ASPNETCORE_ENVIRONMENT`) is set to `Development` using \n    `$Env:ASPNETCORE_ENVIRONMENT = \"Development\"` for powershell or `export ASPNETCORE_ENVIRONMENT=Development` for bash.\n    3. `cd` to the boundary project root (e.g. `cd PeakLims/src/PeakLims`)\n    4. Run your project and your migrations should be applied automatically. Alternatively, you can run `dotnet ef database update` to apply your migrations manually.\n\n    \u003e You can also stay in the `sln` root and run something like `dotnet ef database update --project PeakLims/src/PeakLims`\n\n## Running Integration Tests\nTo run integration tests:\n\n1. Ensure that you have docker installed.\n2. Go to your src directory for the bounded context that you want to test.\n3. Confirm that you have migrations in your infrastructure project. If you need to add them, see the [instructions below](#running-migrations).\n4. Run the tests\n\n\u003e ⏳ If you don't have the database image pulled down to your machine, they will take some time on the first run.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeaklims%2Fpeaklimsapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeaklims%2Fpeaklimsapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeaklims%2Fpeaklimsapi/lists"}