{"id":23417949,"url":"https://github.com/judeniroshan/audit-server","last_synced_at":"2025-04-09T07:54:13.616Z","repository":{"id":39670692,"uuid":"245466349","full_name":"JudeNiroshan/audit-server","owner":"JudeNiroshan","description":"🚀 gRPC microservice example with spring-boot 2 REST application which handles user events 👥","archived":false,"fork":false,"pushed_at":"2024-03-28T02:18:13.000Z","size":320,"stargazers_count":1,"open_issues_count":41,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-28T03:28:19.982Z","etag":null,"topics":["grpc-client","microservice","restful-api"],"latest_commit_sha":null,"homepage":"","language":"Java","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/JudeNiroshan.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}},"created_at":"2020-03-06T16:22:27.000Z","updated_at":"2024-03-28T03:28:21.293Z","dependencies_parsed_at":"2024-01-27T15:33:28.003Z","dependency_job_id":"afd07a0e-882d-405e-98fb-3ed682617815","html_url":"https://github.com/JudeNiroshan/audit-server","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/JudeNiroshan%2Faudit-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JudeNiroshan%2Faudit-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JudeNiroshan%2Faudit-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JudeNiroshan%2Faudit-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JudeNiroshan","download_url":"https://codeload.github.com/JudeNiroshan/audit-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999852,"owners_count":21031044,"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":["grpc-client","microservice","restful-api"],"created_at":"2024-12-22T23:28:23.822Z","updated_at":"2025-04-09T07:54:13.594Z","avatar_url":"https://github.com/JudeNiroshan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Audit Server 🛂\n\n[![Build Status](https://travis-ci.org/JudeNiroshan/audit-server.svg?branch=master)](https://travis-ci.org/JudeNiroshan/audit-server)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/39a629cee58f448b8b3acbc565d896e4)](https://app.codacy.com/manual/JudeNiroshan/audit-server?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=JudeNiroshan/audit-server\u0026utm_campaign=Badge_Grade_Dashboard)\n[![codecov](https://codecov.io/gh/JudeNiroshan/audit-server/branch/master/graph/badge.svg)](https://codecov.io/gh/JudeNiroshan/audit-server)\n[![Known Vulnerabilities](https://snyk.io/test/github/JudeNiroshan/audit-server/badge.svg?targetFile=pom.xml)](https://snyk.io/test/github/JudeNiroshan/audit-server?targetFile=pom.xml)\n[![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/juden/audit-server?sort=date)](https://hub.docker.com/repository/docker/juden/audit-server)\n[![Docker Pulls](https://img.shields.io/docker/pulls/juden/audit-server)](https://hub.docker.com/repository/docker/juden/audit-server)\n\naudit-server is a spring-boot REST API which accepts user events as JSON objects\nand delegates them to a remote server to handle it appropriately.\n\nSample JSON payload _(endpoint: `/api/user/event`, Method: `POST`)_ :\n```\n{\n \"timestamp\": 15623276532,\n \"userId\": 1029,\n \"event\": \"something happened. Please log this in a file\"\n}\n```\n\n\n### Configurations 🛠️\n\n\n- Eureka server endpoint in `application.properties` _(Default `http://localhost:8761/eureka`)_\n\n### How to run 🏃🏽‍♂️\n\n\n#### Prerequisite:\nEnsure [logger-eureka-server](https://github.com/JudeNiroshan/logger-eureka-server) \ninstance is up and running on your local machine. Then,\n\n - clone the repository to your machine [`git clone https://github.com/JudeNiroshan/audit-server.git`]\n - move to `audit-server` [`cd audit-server`]\n - execute `./mvnw install`\n - execute `./mvnw spring-boot:run` (submit **POST** request to `http://localhost:8080/api/user/event`)\n\n### Developer Notes\n\n\n- Application is using [google protocol buffers](https://developers.google.com/protocol-buffers) as protocol for calling remote servers. \nThere are several frameworks available which uses `.protoc` as protocol. By default \naudit-server is using [gRPC](https://grpc.io/). It is possible to change it by implementing `Meditator` interface \nand configuring relevant type in `application.properties` file. _(Default `gpb.type=grpc`)_\n- audit-server is performing application load-balancing by using \n [client service discovery](https://microservices.io/patterns/client-side-discovery.html) \n through an Eureka server.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjudeniroshan%2Faudit-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjudeniroshan%2Faudit-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjudeniroshan%2Faudit-server/lists"}