{"id":15091369,"url":"https://github.com/andriirv/my-car","last_synced_at":"2026-02-10T13:33:11.031Z","repository":{"id":225145093,"uuid":"756451902","full_name":"AndriiRv/my-car","owner":"AndriiRv","description":"Project is about build APIs via microservice approach using by Spring, Docker and Kubernetes (K8S)","archived":false,"fork":false,"pushed_at":"2024-03-26T18:57:36.000Z","size":227,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T10:48:36.123Z","etag":null,"topics":["docker","flyway","gradle","java","kafka","kafka-cluster","kubernetes","liquibase","microservices-architecture","mongodb","openapi-specification","oracle-database","postgresql","rabbitmq","rest","spring"],"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/AndriiRv.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-02-12T17:33:49.000Z","updated_at":"2024-03-13T13:53:13.000Z","dependencies_parsed_at":"2024-02-29T14:27:41.023Z","dependency_job_id":"2d4d8744-e6dd-4327-9ccb-0cfb69e989e0","html_url":"https://github.com/AndriiRv/my-car","commit_stats":null,"previous_names":["andriirv/my-car"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndriiRv%2Fmy-car","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndriiRv%2Fmy-car/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndriiRv%2Fmy-car/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndriiRv%2Fmy-car/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndriiRv","download_url":"https://codeload.github.com/AndriiRv/my-car/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244945590,"owners_count":20536296,"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":["docker","flyway","gradle","java","kafka","kafka-cluster","kubernetes","liquibase","microservices-architecture","mongodb","openapi-specification","oracle-database","postgresql","rabbitmq","rest","spring"],"created_at":"2024-09-25T10:40:39.593Z","updated_at":"2026-02-10T13:33:10.977Z","avatar_url":"https://github.com/AndriiRv.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 'My car'\n\n\u003e Contents\n\u003e - [About](#about)\n\u003e   - [Business-microservices](#business-microservices)\n\u003e     - [Cars](#cars)\n\u003e     - [Customers](#customers)\n\u003e     - [ServicePartners](#servicepartners)\n\u003e   - [Maintenance-microservices](#maintenance-microservices)\n\u003e     - [ConfigServer](#configserver)\n\u003e     - [EurekaServer](#eurekaserver)\n\u003e     - [GatewayServer](#gatewayserver)\n\u003e - [Setup](#setup)\n\u003e - [Using](#using)\n\n## About\n\n###### UPDATED March 13, 2024\n\n`My car` is a project which play a role as a system maintenance of the cars. Customers buys a cars and auto-attach to\nsome of the service station.\nBuilt based on the microservice approach which to distribute logic on a small modules / microservices, namely:\n\n* Business-microservices: `cars`, `customers`, `servicepartners`.\n* Maintenance-microservices: `configserver`, `eurekaserver`, `gatewayserver`.\n\n- This project is for education purpose, and it's a cause why all microservices lies on the one repository.\n- On working environment we need to use all of these microservices on separate repositories which handle different\n  development teams.\n\n### Business microservices\n\n#### Cars\n\n###### UPDATED March 13, 2024\n\n- This microservice intend to reveal business logic about the customer cars.\n- Has three entities: `Car`, `Car details` and `Car statistics`. All of three entities have ONE-TO-ONE relationship.\n- Use a `PostgreSQL` as RDBMS.\n\n#### Customers\n\n###### UPDATED March 13, 2024\n\n- 'Customers' microservice has on a goal to handle customer / owner entities, like: `Owner`, `Owner credentials`\n  and `Owner notifications`.\n- `Owner` and `Owner credentials` have ONE-TO-ONE relationship.\n- `Owner` and `Owner notifications` have ONE-TO-MANY relationship.\n- Use an `Oracle` as RDBMS.\n\n#### ServicePartners\n\n###### UPDATED March 13, 2024\n\n- This microservice described service station behavior, which include: `Service partner` / service station, `Worker`\n  and `Car maintenance` entities.\n- `Service partner` and `Worker` have ONE-TO-MANY relationship.\n- `Service partner` and `Car maintenance` have ONE-TO-MANY relationship.\n- Use a `MongoDB` as NoSQL DBMS.\n\n### Maintenance microservices\n\n#### Config server\n\n###### UPDATED March 13, 2024\n\nIt's a microservice which based on Spring Cloud Config.\nProvides support for externalized configuration in a distributed systems.\n\n#### Eureka server\n\n###### UPDATED March 13, 2024\n\nPlays a role of discovery service within microservice approach.\n\n#### Gateway server\n\n###### UPDATED March 13, 2024\n\nIntended to a general start point or gateway to our microservice network.\n\n## Setup\n\n###### UPDATED March 13, 2024\n\nBefore to run of `My car` microservice infrastructure you have to make sure that your host can connect to the repository\nwhich intend to use by Spring Cloud Config server.\n\n- If you have simple username \u0026 password approach to your repository then you need to add `username` and `password`\n  parameters under `spring.cloud.config.server.git`.\n- Otherwise, you will need to setup ssh between host and repository and manually put ssh keys as files from your OS\n  directory to the root of this project: `root/ssh_keys`.\n\nAlso make sure that your Docker and Kubernetes is enabled.\n\n## Using\n\n###### UPDATED March 13, 2024\n\nYou may to use Docker or Kubernetes 'launchers' to start `My car` microservice infrastructure. Please be aware for three\nprofiles for it: `default`, `prod` and `qa`.\n\nAfter proceed to one of these profiles you can find one bat file and this file will deploy all docker containers.\n\nDeploying process may take a few minutes so please wait before all containers is started.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandriirv%2Fmy-car","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandriirv%2Fmy-car","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandriirv%2Fmy-car/lists"}