{"id":23714954,"url":"https://github.com/dnutiu/retroactiune","last_synced_at":"2026-05-08T15:49:04.044Z","repository":{"id":48616194,"uuid":"371816064","full_name":"dnutiu/retroactiune","owner":"dnutiu","description":"Retroactiune is a web API for managing anonymous Feedback using a token-based system. ","archived":false,"fork":false,"pushed_at":"2021-07-26T19:24:49.000Z","size":469,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-12-30T20:52:00.781Z","etag":null,"topics":["api","asp-net-core","docker-compose","jwt","mongodb","swagger","tests"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dnutiu.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-28T20:53:18.000Z","updated_at":"2023-07-18T10:15:12.000Z","dependencies_parsed_at":"2022-09-11T11:12:56.794Z","dependency_job_id":null,"html_url":"https://github.com/dnutiu/retroactiune","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnutiu%2Fretroactiune","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnutiu%2Fretroactiune/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnutiu%2Fretroactiune/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnutiu%2Fretroactiune/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dnutiu","download_url":"https://codeload.github.com/dnutiu/retroactiune/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239803495,"owners_count":19699686,"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":["api","asp-net-core","docker-compose","jwt","mongodb","swagger","tests"],"created_at":"2024-12-30T20:51:46.455Z","updated_at":"2026-02-10T01:30:17.948Z","avatar_url":"https://github.com/dnutiu.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\n\n![Build Status](https://circleci.com/gh/dnutiu/retroactiune.svg?style=svg)  \n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/dnutiu/retroactiune) ![GitHub repo size](https://img.shields.io/github/repo-size/dnutiu/retroactiune) ![GitHub top language](https://img.shields.io/github/languages/top/dnutiu/retroactiune)\n\n![Swagger API](./docs/retroactiune_swagger.png)\n\nRetroactiune is a project for managing Feedback. It works in the following way,\nan Admin to creates FeedbackReceivers that will receive Feedback. Then it will generate Tokens that can be \ndistributed to the users. A Tokens is bound to a single FeedbackReceiver and it's a one time use for giving Feedback.\n\nThe given Feedback is anonymous by design.\n\n## Tech Stack\n\nThe project uses [ASP .Net Core 3.1](https://docs.microsoft.com/en-us/aspnet/core/) and [MongoDB](https://www.mongodb.com/).\n\n```bash\ndotnet --version\n3.1.407\n```\n\n## Architecture\n\nExample deployment architecture which uses [Prometheus](https://prometheus.io/) \u0026 [Grafana](https://grafana.com/) for monitoring, [Auth0](https://auth0.com/) as a authorization server\nand [Sentry](https://sentry.io/welcome/) for error reporting.\n\n![Example deployment architecture](./docs/deploy_architecture.png)\n\nThe application code is organized using the [Clean Architecture](https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures#clean-architecture) approach.\n\n![Example deployment architecture](./docs/app_architecture_layers.png)\n\n## Authorization Provider\n\nAn external Authorization provider is required in order to run the API, the provider needs to support\nBearer tokens and HS256 key signing algorithm. _RS256 is currently not supported._\n\nI recommend that you start with [Auth0](https://auth0.com/) and their free tier.\n\nSee the following resources:\n- https://auth0.com/docs/get-started/set-up-apis\n- https://developers.redhat.com/blog/2020/01/29/api-login-and-jwt-token-generation-using-keycloak#set_up_a_client\n\n## Developing\n\nTo install the dependencies run `dotnet restore`.\n\nTo run the project run\n\n```bash\ndotnet run --project .\\Retroactiune.WebAPI\\\n```\n\nTo run unit and integration tests run:\n\n_Note: [Docker](https://www.docker.com/) and [Docker-Compose](https://docs.docker.com/compose/) are needed to bring up the dependent services, see `docker-compose.yaml`._\n\n```bash\ndocker-compose up -d\ndotnet test\n```\n\nThe projects has ~96% code coverage.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnutiu%2Fretroactiune","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdnutiu%2Fretroactiune","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnutiu%2Fretroactiune/lists"}