{"id":18813660,"url":"https://github.com/mehmetumit/address-book","last_synced_at":"2026-04-04T08:40:26.918Z","repository":{"id":219299212,"uuid":"745615911","full_name":"mehmetumit/address-book","owner":"mehmetumit","description":"Personal contact management solution","archived":false,"fork":false,"pushed_at":"2024-01-27T08:53:52.000Z","size":5894,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-30T00:28:09.420Z","etag":null,"topics":["angular","ci-cd","cloud","docker","docker-compose","grafana","javascript","mongodb","nginx","nodejs","prometheus","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/mehmetumit.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":"2024-01-19T18:06:35.000Z","updated_at":"2024-01-30T10:29:38.000Z","dependencies_parsed_at":"2024-01-26T16:24:41.332Z","dependency_job_id":"35bac1d0-144e-4fc7-8239-1dd1298b520d","html_url":"https://github.com/mehmetumit/address-book","commit_stats":{"total_commits":77,"total_committers":1,"mean_commits":77.0,"dds":0.0,"last_synced_commit":"2f475eba445157e6f879a052724db742e9ee4b62"},"previous_names":["mehmetumit/address-book"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehmetumit%2Faddress-book","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehmetumit%2Faddress-book/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehmetumit%2Faddress-book/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehmetumit%2Faddress-book/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mehmetumit","download_url":"https://codeload.github.com/mehmetumit/address-book/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239748300,"owners_count":19690237,"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":["angular","ci-cd","cloud","docker","docker-compose","grafana","javascript","mongodb","nginx","nodejs","prometheus","typescript"],"created_at":"2024-11-07T23:38:04.066Z","updated_at":"2025-12-30T19:59:48.608Z","avatar_url":"https://github.com/mehmetumit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Address Book\n\n![frontend-pipeline-status](https://github.com/mehmetumit/address-book/actions/workflows/frontend-pipeline.yaml/badge.svg)\n![backend-pipeline-status](https://github.com/mehmetumit/address-book/actions/workflows/backend-pipeline.yaml/badge.svg)\n![compose-pipeline-status](https://github.com/mehmetumit/address-book/actions/workflows/compose-pipeline.yaml/badge.svg)\n![https://codecov.io/gh/mehmetumit/address-book](https://img.shields.io/codecov/c/github/mehmetumit/address-book/master.svg)\n\n---\n## About\nThis project aims to provide a hands on cloud native solution for personal contact management.\n## Usage\n\u003e All services are running behind an Nginx reverse proxy. The individual service ports are not directly exposed to the host machine. Which help us to manage our environment.\n\n\u003e The default configuration pulls backend and frontend images from Docker Hub. If you want to use a locally built version of the images, you can modify the image references to point to your local versions.\n\n\u003e By defaul nginx using port `80`. In order to change that you need to edit `nginx/conf.d/defaul.conf` and nginx service in `docker-compose.yml` .\n```sh\n# Clone the repository\ngit clone https://github.com/mehmetumit/address-book.git\n# Change directory\ncd address-book\n# Set default .env\ncp .env.template .env\n# Initialize containers\ndocker-compose up -d\n```\n## Service Endpoints\n* Web client: `http://localhost`\n* Grafana: `http://localhost/grafana`\n* Prometheus server: `http://localhost/prometheus`\n* Backend API: `http://localhost/api/v1`\n* Backend OpenAPI Doc: `http://localhost/api/v1/doc`\n## Example System Design And Application Lifecycle\n![system_design_and_application_lifecycle](docs/img/design1.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehmetumit%2Faddress-book","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmehmetumit%2Faddress-book","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehmetumit%2Faddress-book/lists"}