{"id":21365107,"url":"https://github.com/altinn/altinn-notifications","last_synced_at":"2025-07-13T04:31:41.851Z","repository":{"id":36962407,"uuid":"431091590","full_name":"Altinn/altinn-notifications","owner":"Altinn","description":"Altinn platform microservice for handling notifications (mail, sms, etc)","archived":false,"fork":false,"pushed_at":"2024-07-11T08:48:42.000Z","size":1102,"stargazers_count":2,"open_issues_count":39,"forks_count":3,"subscribers_count":20,"default_branch":"main","last_synced_at":"2024-07-11T11:31:25.832Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Altinn.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":"2021-11-23T12:27:58.000Z","updated_at":"2024-07-18T08:45:52.024Z","dependencies_parsed_at":"2023-09-26T11:05:16.956Z","dependency_job_id":"bf81e237-d37d-4003-8c9f-84bd19dcac86","html_url":"https://github.com/Altinn/altinn-notifications","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Altinn%2Faltinn-notifications","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Altinn%2Faltinn-notifications/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Altinn%2Faltinn-notifications/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Altinn%2Faltinn-notifications/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Altinn","download_url":"https://codeload.github.com/Altinn/altinn-notifications/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225855965,"owners_count":17534967,"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":[],"created_at":"2024-11-22T07:09:42.530Z","updated_at":"2025-07-13T04:31:41.831Z","avatar_url":"https://github.com/Altinn.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Altinn Notifications\n\nAltinn platform microservice for handling notifications (mail, sms, etc)\nThis component handles the functionality related to registering and sending notifications.\n\n## Project organization\nThis is a backend WebAPI solution written in .NET / C# following the clean architecture principles.\nThe solution is into four projects, each with their associated test project.\n\n### Altinn.Notifications\nThe API layer that consumes services provided by _Altinn.Notifications.Core_\n\nRelevant implementations:\n- Controllers\n- Program.cs\n\n\n### Altinn.Notifications.Core\nThe domain and application layer that implements the business logic of the system.\n\nRelevant implementations:\n- Interfaces for external dependencies implemented by infrastructure and repository layer\n- Domain models\n- Services\n\n### Altinn.Notifications.Integrations\nThe infrastructure layer that implements the interfaces defined in _Altinn.Notifications.Core_ for integrations towards 3rd-party libraries and systems.\n\nRelevant implementations:\n- Kafka producer and consumer implementation\n- Clients for communicating with Altinn Platform components\n\n\n### Altinn.Notifications.Persistance\nThe persistance layer that implements repository logic.\n\n## Getting started\n\n1. [.NET 9.0 SDK](https://dotnet.microsoft.com/download/dotnet/9.0)\n2. Newest [Git](https://git-scm.com/downloads)\n3. A code editor - we like [Visual Studio Code](https://code.visualstudio.com/download)\n   - Also install [recommended extensions](https://code.visualstudio.com/docs/editor/extension-marketplace#_workspace-recommended-extensions) (e.g. [C#](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp))\n4. [Podman](https://podman.io/) or another container tool such as Docker Desktop\n5. [PostgreSQL](https://www.postgresql.org/download/)\n6. [pgAdmin](https://www.pgadmin.org/download/)\n\n### Setting up PostgreSQL\n\nEnsure that both PostgreSQL and pgAdmin have been installed and start pgAdmin.\n\nIn pgAdmin\n- Create database _notificationsdb_\n- Create the following users with password: _Password_ (see privileges in parentheses)\n  - platform_notifications_admin (superuser, canlogin)\n  - platform_notifications (canlogin)\n- Create schema _notifications_ in notificationsdb with owner _platform_notifications_admin_\n\nA more detailed description of the database setup is available in [our developer handbook](https://docs.altinn.studio/community/contributing/handbook/postgres/)\n\n### Cloning the application\n\nClone [Altinn Notifications repo](https://github.com/Altinn/altinn-notifications) and navigate to the folder.\n\n```bash\ngit clone https://github.com/Altinn/altinn-notifications\ncd altinn-notifications\n```\n\n### Setting up Kafka broker and visualization\nEnsure that Docker has been installed and is running.\n\nIn a terminal navigate to the root of this repository\nand run command `podman compose -f setup-kafka.yml up -d`\n\nKafdrop is now available at http://localhost:9000.\n\n### Running the application with .NET\n\nThe Notifications components can be run locally when developing/debugging. Follow the install steps above if this has not already been done.\n\n- Navigate to _src/Altinn.Notifications_, and build and run the code from there, or run the solution using you selected code editor\n\n  ```cmd\n  cd src/Notifications\n  dotnet run\n  ```\n\nThe notifications solution is now available locally at http://localhost:5090/.\nTo access swagger use http://localhost:5090/swagger.\n\n### Testing\nThere is a Bruno (https://www.usebruno.com/) collection in ```\u003cproject root\u003e/test/bruno``` with examples and testcases for the API.\n\nBefore running any tests, remember to prepare an ```.env``` file. See ```\u003cproject root\u003e/test/bruno/.env.sample``` for an example of how to set it up.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faltinn%2Faltinn-notifications","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faltinn%2Faltinn-notifications","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faltinn%2Faltinn-notifications/lists"}