{"id":51277354,"url":"https://github.com/caard0s0/vanguard-server","last_synced_at":"2026-06-29T22:00:42.705Z","repository":{"id":176702444,"uuid":"624597894","full_name":"caard0s0/vanguard-server","owner":"caard0s0","description":"Backend Application. Vanguard is a Financial Software for Financial Institutions.","archived":false,"fork":false,"pushed_at":"2024-09-23T22:27:57.000Z","size":31003,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-28T20:25:59.291Z","etag":null,"topics":["aws","backend","docker","gin","go","golang","kubernetes","postgresql","restful-api"],"latest_commit_sha":null,"homepage":"","language":"Go","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/caard0s0.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":"2023-04-06T20:38:00.000Z","updated_at":"2024-09-23T22:28:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"67e50114-f355-4b35-a1d2-02fffe231809","html_url":"https://github.com/caard0s0/vanguard-server","commit_stats":null,"previous_names":["caard0s0/united-atomic-bank","caard0s0/vanguard-server","caard0s0/united-atomic-bank-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/caard0s0/vanguard-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caard0s0%2Fvanguard-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caard0s0%2Fvanguard-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caard0s0%2Fvanguard-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caard0s0%2Fvanguard-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caard0s0","download_url":"https://codeload.github.com/caard0s0/vanguard-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caard0s0%2Fvanguard-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34944147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"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":["aws","backend","docker","gin","go","golang","kubernetes","postgresql","restful-api"],"created_at":"2026-06-29T22:00:32.857Z","updated_at":"2026-06-29T22:00:42.700Z","avatar_url":"https://github.com/caard0s0.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n\n\u003c!-- CI Badge --\u003e\n\u003ca href=\"https://github.com/caard0s0/vanguard-server/actions/workflows/ci.yml\"\u003e\n    \u003cimg src=\"https://github.com/caard0s0/vanguard-server/actions/workflows/ci.yml/badge.svg?branch=main\" alt=\"Build Status\"\u003e\n\u003c/a\u003e\n\n\u003c!-- Build \u0026 Publish Docker Badge --\u003e\n\u003ca href=\"https://github.com/caard0s0/vanguard-server/actions/workflows/deploy.yml\"\u003e\n    \u003cimg src=\"https://github.com/caard0s0/vanguard-server/actions/workflows/deploy.yml/badge.svg?branch=main\" alt=\"Build Status\"\u003e\n\u003c/a\u003e\n\n\u0026nbsp;\n\n\n\u003c!-- About the Project --\u003e\n\u003cdiv align=\"center\"\u003e\n    \u003ch2\u003eVanguard - API Server\u003c/h2\u003e\n    \u003cp\u003eA complete RESTful API for Financial Institutions, developed with \u003ca href=\"https://go.dev/\"\u003eGo\u003c/a\u003e.\u003c/p\u003e\n    \u003ca href=\"https://github.com/caard0s0/vanguard-server/issues\"\u003eReport Bugs\u003c/a\u003e\n    \u0026nbsp;\u0026bull;\u0026nbsp;\n    \u003ca href=\"https://github.com/caard0s0/vanguard-server/actions\"\u003eActions\u003c/a\u003e\n    \u0026nbsp;\u0026bull;\u0026nbsp;\n    \u003ca href=\"https://github.com/caard0s0/vanguard-server/pulls\"\u003ePull Requests\u003c/a\u003e\n\u003c/div\u003e\n\n\u0026nbsp;\n\n![bank](https://github.com/user-attachments/assets/69e542a3-1b9f-4479-81ea-cea3fa5eb6ed)\n\nA Financial Software specialized in the intermediation of money between savers and those in need of loans, as well as in the custody of that money.\n\nThis API was written following SOLID principles and Clean Code guidelines, for better scalability and code maintenance.\n\nUsing PostgreSQL as a database ensures durability and consistency in financial records.\n\nThe application was deployed on AWS, efficiently orchestrated by Kubernetes. This choice allows for dynamic scalability and simplified container management.\n\nThe implementation of automated tests, integrated into the continuous integration (CI) process, ensures code stability at all phases of development.\n \nAdditionally, monitoring is a priority. Prometheus and Grafana work together to provide detailed insights into application performance. This proactive approach, through metrics and dashboards, allows a quick response to any anomaly, maintaining system reliability and availability.\n\n\u0026nbsp;\n\n\u003ch3\u003eBuilt With\u003c/h3\u003e\n\n[![Tech Tools](https://skillicons.dev/icons?i=go,postgres,docker,aws,kubernetes,githubactions,postman,grafana,prometheus)](https://skillicons.dev)\n\n\n\u003c!-- Table of Contents --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n    \u003col\u003e\n        \u003cli\u003e\n            \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n            \u003cul\u003e\n                \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n                \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n                \u003cli\u003e\u003ca href=\"#tests\"\u003eTests\u003c/a\u003e\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#grafana-dashboard\"\u003eGrafana Dashboard\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#api-documentation\"\u003eAPI Documentation\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003c/ol\u003e\n\u003c/details\u003e\n\n\u0026nbsp;\n\n\n\u003c!-- Getting Started --\u003e\n\u003ch2 id=\"getting-started\"\u003eGetting Started\u003c/h2\u003e\n\n\u003cp\u003eTo get started, You need to have \u003cstrong\u003eGo 1.22+\u003c/strong\u003e installed on your machine, for more information visit \u003ca href=\"https://go.dev/dl/\"\u003eGo Downloads\u003c/a\u003e. You also need to have \u003cstrong\u003eDocker Desktop\u003c/strong\u003e installed, for more information visit \u003ca href=\"https://www.docker.com/products/docker-desktop/\"\u003eDocker Desktop Install\u003c/a\u003e.\u003c/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eOBS:\u003c/strong\u003e This guide is designed to run this project locally (Local Development), on Linux-based systems.\u003c/p\u003e\n\n\n\u003c!-- Installation --\u003e\n\u003ch3 id=\"installation\"\u003eInstallation\u003c/h3\u003e\n\n1. Clone the repository.\n    ```bash\n    git clone https://github.com/caard0s0/vanguard-server.git\n    ```\n\n2. Install \u003cstrong\u003eGolang-Migrate\u003c/strong\u003e as CLI. for more information visit \u003ca href=\"https://github.com/golang-migrate/migrate/tree/master/cmd/migrate\"\u003eGolang CLI Documentation\u003c/a\u003e.\n\n3. Create an `app.env` file with environment variables.\n\n    \u003cstrong\u003eWARNING:\u003c/strong\u003e The values ​​below are for testing purposes only, please change them in the future.\n\n    ```bash\n    cat \u003e app.env \u003c\u003c EOF\n    DB_DRIVER=postgres\n    DB_SOURCE=postgresql://root:secret@postgres:5432/bank?sslmode=disable\n    HTTP_SERVER_ADDRESS=0.0.0.0:80\n    HTTP_CLIENT_ADDRESS=http://localhost:3000\n\n    TOKEN_SYMMETRIC_KEY=12345678901234567890123456789012\n    ACCESS_TOKEN_DURATION=30m\n\n    EMAIL_SENDER_NAME=\n    EMAIL_SENDER_ADDRESS=\n    EMAIL_SENDER_PASSWORD=\n    EOF\n    ```\n\n4. Install \u003cstrong\u003eGoMock\u003c/strong\u003e and be able to use the \u003cstrong\u003eMockGen\u003c/strong\u003e tool.\n\n    * Framework installation.\n\n        ```bash\n        go install github.com/golang/mock/mockgen@v1.6.0\n        ```\n\n    * add this PATH to your \u003cstrong\u003ego/bin\u003c/strong\u003e folder in the `~/.zshrc` file or another Shell.\n\n        \u003cstrong\u003eWARNING:\u003c/strong\u003e This PATH below is just an example.\n\n        ```bash\n        export PATH=$PATH:~/.asdf/installs/golang/1.22.5/packages/bin\n        ```\n\n5. Install \u003cstrong\u003eSQLC\u003c/strong\u003e. for more information visit \u003ca href=\"https://docs.sqlc.dev/en/latest/index.html\"\u003eSQLC Documentation\u003c/a\u003e.\n\n\u003cstrong\u003eWARNING:\u003c/strong\u003e To install and use the \u003cstrong\u003eFull Application\u003c/strong\u003e, click on the \u003cstrong\u003eLink\u003c/strong\u003e below.\n\n6. Install the \u003cstrong\u003eClient Side\u003c/strong\u003e. for more information visit \u003ca href=\"https://github.com/caard0s0/vanguard-client\"\u003eVanguard - Web Version\u003c/a\u003e.\n\n\n\u003c!-- Usage --\u003e\n\u003ch2 id=\"usage\"\u003eUsage\u003c/h2\u003e\n\n\u003cp\u003eAfter completing the installation, you can run the project.\u003c/p\u003e\n\n1. Create and run the \u003cstrong\u003eContainers\u003c/strong\u003e.\n\n    ```cmd\n    docker compose up -d\n    ```\n\n\n\u003c!-- Tests --\u003e\n\u003ch2 id=\"tests\"\u003eTests\u003c/h2\u003e\n\n\u003cp\u003eTo be able to run all the tests, follow the command below.\u003c/p\u003e\n\n1. Run all the \u003cstrong\u003eTests\u003c/strong\u003e.\n\n    ```cmd\n    go test -v -cover ./...\n    ```\n\n\n\u003cbr\u003e\n\n\u003c!-- Grafana Dashboard --\u003e\n\u003ch2 id=\"grafana-dashboard\"\u003eGrafana Dashboard\u003c/h2\u003e\n\n\u003cp\u003eA dashboard created with Grafana to view all the main information about \u003cstrong\u003eDocker Containers\u003c/strong\u003e and \u003cstrong\u003eRequests\u003c/strong\u003e.\u003c/p\u003e\n\n![docker_dashboard](https://github.com/caard0s0/united-atomic-bank-server/assets/95318788/77bb2774-20ff-4d0e-b652-2d9b72be5618)\n\u0026nbsp;\n![api_dashboard](https://github.com/caard0s0/united-atomic-bank-server/assets/95318788/dfde683d-24db-4841-a960-89db31114446)\n\n\u003cbr\u003e\n\n\u003c!-- API Documentation --\u003e\n\u003ch2 id=\"api-documentation\"\u003eAPI Documentation\u003c/h2\u003e\n\n\u003cp\u003eA complete and detailed documentation of the API using \u003cstrong\u003eSwagger\u003c/strong\u003e. To view, visit \u003ca href=\"https://uab-api.onrender.com/docs/index.html#/\"\u003eAPI Documentation\u003c/a\u003e.\u003c/p\u003e\n\n![swagger_docs](https://github.com/user-attachments/assets/3b62e9d7-efde-47fa-9a92-a9adcf8b0d98)\n\n\u003cbr\u003e\n\n\n\u003c!-- License --\u003e\n\u003ch2 id=\"license\"\u003eLicense\u003c/h2\u003e\n\nThis project is being distributed under the \u003cstrong\u003eMIT License\u003c/strong\u003e, see ```LICENSE.txt``` for more information.\n\n\n\u003cbr\u003e\n\n\n\u003c!-- Contact --\u003e\n\u003ch2 id=\"contact\"\u003eContact\u003c/h2\u003e\n\n* Software Engineer  \n* Vinicius Cardoso - \u003ca href=\"mailto:cardoso.business.ctt@gmail.com\"\u003eEmail\u003c/a\u003e\n\n\u003cp align=\"right\"\u003e\n    \u003ca href=\"#top\"\u003e \u0026uarr; back to top\u003c/a\u003e\n\u003c/p\u003e \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaard0s0%2Fvanguard-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaard0s0%2Fvanguard-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaard0s0%2Fvanguard-server/lists"}