{"id":16159836,"url":"https://github.com/sebi75/go-bank-api","last_synced_at":"2025-04-07T02:35:39.127Z","repository":{"id":239669522,"uuid":"616544571","full_name":"sebi75/go-bank-api","owner":"sebi75","description":"A bank monorepo with a primary service for managing resources and an auth microservice","archived":false,"fork":false,"pushed_at":"2023-04-21T21:01:24.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T07:41:29.585Z","etag":null,"topics":["go","microservice"],"latest_commit_sha":null,"homepage":"","language":"Go","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/sebi75.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}},"created_at":"2023-03-20T15:40:02.000Z","updated_at":"2023-04-13T21:12:05.000Z","dependencies_parsed_at":"2024-05-14T00:29:11.346Z","dependency_job_id":null,"html_url":"https://github.com/sebi75/go-bank-api","commit_stats":null,"previous_names":["sebi75/go-bank-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebi75%2Fgo-bank-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebi75%2Fgo-bank-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebi75%2Fgo-bank-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebi75%2Fgo-bank-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebi75","download_url":"https://codeload.github.com/sebi75/go-bank-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247583491,"owners_count":20962042,"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":["go","microservice"],"created_at":"2024-10-10T01:59:55.999Z","updated_at":"2025-04-07T02:35:39.100Z","avatar_url":"https://github.com/sebi75.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go Bank API\n\nThis is a monorepo for the Go Bank API, which consists of two microservices: the Auth Service and the Banking Service. The Auth Service is responsible for handling user authentication using JWT, while the Banking Service is the main REST API for managing resources.\n\n## Getting Started\n\nThese instructions will help you set up and run the Go Bank API on your local machine for development and testing purposes.\n\n### Prerequisites\n\n- Go (v1.17 or higher) - Optional, for local development without Docker\n- Docker (for running the services in containers)\n- Docker Compose (for orchestrating the containers)\n\n### Installing\n\n1. Clone the repository:\n\nssh:\n\n```sh\ngit clone git@github.com:sebi75/go-bank-api.git\ncd go-bank-api\n```\n\nhttps:\n\n```sh\ngit clone https://github.com/sebi75/go-bank-api.git\ncd go-bank-api\n```\n\nSet up the environment variables for each microservice.\nRename the .env.example file to .env in the root directory of each microservice, and set the values for the environment variables. For example, in the auth-service/.env file, you should have something like this:\n\n```sh\nDB_HOST=localhost\nDB_PORT=5432\nDB_USER=yourdbuser\nDB_PASSWORD=yourdbpassword\nDB_NAME=yourdbname\nJWT_SECRET=yourjwtsecret\n```\n\nMake sure to replace the values with your own.\n\nBuild and run the microservices using Docker Compose. In the root directory of the project, run the following command:\n\n```sh\ndocker-compose up --build\n```\n\nDocker Compose will build the images and start the containers for both services.\n\nUsing the Monorepo in Visual Studio Code\nTo properly work with the monorepo in Visual Studio Code, create a go-bank-api.code-workspace file in the root directory of the repository, and include the following configuration:\n\n```json\n{\n\t\"folders\": [\n\t\t{\n\t\t\t\"path\": \"auth-service\"\n\t\t},\n\t\t{\n\t\t\t\"path\": \"banking-service\"\n\t\t}\n\t\t{\n\t\t\t\"path\": \"banking-lib\"\n\t\t}\n\t]\n}\n```\n\nNow, open the go-bank-api.code-workspace file in Visual Studio Code, and you should have a properly configured workspace for the monorepo.\n\nUsage\nOnce the services are up and running, you can interact with the API using tools like Postman or curl. Below are some example endpoints:\n\nAuth Service:\n\nPOST /auth/register: Register a new user\nPOST /auth/login: Authenticate a user and generate a JWT token\nBanking Service:\n\nGET /customers: Get a list of customers\nPOST /customers: Create a new customer\nPUT /customers/{id}: Update a customer\nDELETE /customers/{id}: Delete a customer\nRefer to the API documentation for a complete list of endpoints and request/response formats.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebi75%2Fgo-bank-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebi75%2Fgo-bank-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebi75%2Fgo-bank-api/lists"}