{"id":30453929,"url":"https://github.com/diogomassis/empathic-credit-system","last_synced_at":"2026-04-28T23:35:49.458Z","repository":{"id":310712095,"uuid":"1036355795","full_name":"diogomassis/empathic-credit-system","owner":"diogomassis","description":":bank: Technical Case: The Empathic Credit System (ECS)","archived":false,"fork":false,"pushed_at":"2025-08-19T20:03:38.000Z","size":18884,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-19T20:39:49.877Z","etag":null,"topics":["docker","fastapi","grafana-k6","nats-server","redis"],"latest_commit_sha":null,"homepage":"","language":"Python","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/diogomassis.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,"zenodo":null}},"created_at":"2025-08-12T00:41:44.000Z","updated_at":"2025-08-19T20:03:41.000Z","dependencies_parsed_at":"2025-08-19T20:49:59.661Z","dependency_job_id":null,"html_url":"https://github.com/diogomassis/empathic-credit-system","commit_stats":null,"previous_names":["diogomassis/empathic-credit-system"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/diogomassis/empathic-credit-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diogomassis%2Fempathic-credit-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diogomassis%2Fempathic-credit-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diogomassis%2Fempathic-credit-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diogomassis%2Fempathic-credit-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diogomassis","download_url":"https://codeload.github.com/diogomassis/empathic-credit-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diogomassis%2Fempathic-credit-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271755398,"owners_count":24815396,"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-23T02:00:09.327Z","response_time":69,"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":["docker","fastapi","grafana-k6","nats-server","redis"],"created_at":"2025-08-23T16:01:28.670Z","updated_at":"2026-04-28T23:35:44.437Z","avatar_url":"https://github.com/diogomassis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Empathic Credit System (ECS)\n\nThis repository contains the implementation of the Empathetic Credit System (ECS), a conceptual project that offers personalized credit offers based on the analysis of emotional and financial data. To view details of the challenge, access the [technical case details](./.github/md/technical-case.md).\n\n**_During documentation, GIFs showing the execution of specific commands will be made available when necessary._**\n\n## Step by step\n\nTo gain a deeper understanding of how the system execution process works, watch the video located in the video folder. [Watch the system execution process video](./video/technical_case.mp4).\n\n## Project Details\n\nFor a comprehensive understanding of the project, refer to the [Details](./.github/md/sections/details.md).\n\n## Overview\n\nThis project implements the Empathic Credit System (ECS), a backend solution developed in response to CloudWalk's Technical Challenge. The system is designed to process users' emotional and financial data in real time, using it to calculate and offer personalized credit limits. The architecture is **microservices-based** and **event-driven**, starting with the consumption of a simulated emotional data stream via NATS.\n\nThis data, combined with the user's financial history stored in a PostgreSQL database, is used to feed a (mocked) machine learning model that assesses credit risk. Based on the risk score, the system determines the approval, limit, and interest rate of the credit. A REST API, developed in Python with FastAPI, exposes endpoints for querying credit offers and for system health checks (`/healthz`).\n\nThe approval and notification process is managed asynchronously, ensuring a fast user experience. To further enhance scalability and resilience, the system implements a **Cache-Aside pattern** with Redis to optimize query performance and a **Circuit Breaker** to protect against failures in the machine learning service. The project also incorporates best practices for observability, with structured logging, and security, such as configuration management by environment variables and API authentication.\n\nThe entire solution is containerized with Docker and orchestrated via docker-compose to facilitate the configuration and execution of the development environment.\n\n_**All Docker images created from each service were generated via GitHub Actions and are available in the packages section of the project repository.**_\n\n## Disclaimer\n\nThe Empathic Credit System (ECS) described in this repository is entirely fictional.  The idea of using emotional data for credit decisions was created solely for this technical challenge and does not represent any real technology.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiogomassis%2Fempathic-credit-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiogomassis%2Fempathic-credit-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiogomassis%2Fempathic-credit-system/lists"}