ManageViolation_APP_Spring_MS

Getting Started

📚Prerequisite

Java Spring Angular Bootstrap MySQL Apache Maven Postman IntelliJ IDEA Swagger

* Spring Cloud
* Eureka Descovery
* H2DataBase
* BloomRPC

Installation

1. Clone this repo
git clon <!--links of repo-->
2. Install all the dependencies
npm install
3. run all services (after install maven dependencies in intellijIDE)
4. run front project
ng serve

Project Dependencies

Registration Radar Violation Gateway Eureka

Project: General Schema

controlSd

Class Diagram

DiagramApp

Web Services Structure (Backend)

There are five services in all, as stated in the project schema. Every one has a building plan.

Registration Services

The micro-registration service that allows the management of vehicles belonging to the
and owners. Each vehicle belongs to one owner. A owner is defined by his id, name, date of birth, email and email.
A vehicle is defined by its ID, registration number, brand, tax power and model.
├───src
│   ├───main
│   │   ├───java
│   │   │   └───dev
│   │   │       └───elma
│   │   │           └───immatriculation_ms
│   │   │               ├───entities
│   │   │               ├───projections
│   │   │               ├───repositories
│   │   │               └───web
│   │   └───resources
│   └───test
│       └───java
│           └───dev
│               └───elma
│                   └───immatriculation_ms
└───target
    ├───classes
    │   └───dev
    │       └───elma
    │           └───immatriculation_ms
    │               ├───entities
    │               ├───projections
    │               ├───repositories
    │               └───web
    └───generated-sources
        └───annotations

Radar Services

the radar management microservice The ID of a radar identifies it.
Latitude and Longitude are the coordinates and maximum speed
├───src
│   ├───main
│   │   ├───java
│   │   │   └───dev
│   │   │       └───elma
│   │   │           └───radar_ms
│   │   │               ├───entities
│   │   │               ├───feign
│   │   │               ├───models
│   │   │               ├───repositories
│   │   │               └───web
│   │   └───resources
│   └───test
│       └───java
│           └───dev
│               └───elma
│                   └───radar_ms
└───target
    ├───classes
    │   └───dev
    │       └───elma
    │           └───radar_ms
    │               ├───entities
    │               ├───feign
    │               ├───models
    │               ├───repositories
    │               └───web
    ├───generated-sources
    │   └───annotations
    └───maven-status
        └───maven-compiler-plugin
            └───compile
                └───default-compile

Violation Services

The micro-service that helps to deal with infringements. Each offence is defined by its ID, its date,
the radar number that detected the exceeding, vehicle registration, vehicle speed,maximum radar speed
and the amount of the infringement.
├───src
│   ├───main
│   │   ├───java
│   │   │   └───dev
│   │   │       └───elma
│   │   │           └───infractin_ms
│   │   │               ├───entities
│   │   │               ├───feignApi
│   │   │               ├───models
│   │   │               ├───repositories
│   │   │               └───web
│   │   └───resources
│   └───test
│       └───java
│           └───dev
│               └───elma
│                   └───infractin_ms
└───target
    ├───classes
    │   └───dev
    │       └───elma
    │           └───infractin_ms
    │               ├───entities
    │               ├───feignApi
    │               ├───models
    │               ├───repositories
    │               └───web
    ├───generated-sources
    │   └───annotations
    ├───generated-test-sources
    │   └───test-annotations
    └───test-classes
        └───dev
            └───elma
                └───infractin_ms

Gateway Service

API gateway is a software application between a client and a set of backend microservices.
The API Gateway serves as a reverse proxy to accept API calls from the client application, forwarding this traffic to the appropriate servic
├───src
│   ├───main
│   │   ├───java
│   │   │   └───dev
│   │   │       └───elma
│   │   │           └───gateway_ms
│   │   └───resources
│   └───test
│       └───java
│           └───dev
│               └───elma
│                   └───gateway_ms
└───target
    ├───classes
    │   └───dev
    │       └───elma
    │           └───gateway_ms
    └───generated-sources
        └───annotations

Eureka Service

The Eureka server is nothing but an implementation of service discovery pattern, where microservices can register themselves so others can discover them. 
This server holds information about the client service applications.
├───src
│   ├───main
│   │   ├───java
│   │   │   └───dev
│   │   │       └───elma
│   │   │           └───eureka_discovery_ms
│   │   └───resources
│   └───test
│       └───java
│           └───dev
│               └───elma
│                   └───eureka_discovery_ms
└───target
    ├───classes
    │   └───dev
    │       └───elma
    │           └───eureka_discovery_ms
    └───generated-sources
        └───annotations

Web Services Test

Eureka Discovery
Registration WS Radars WS Volation WS

Radar Simulator

a java application that simulates a radar that randomly generates
speed excesses and send them, via GRPC, to Radar-Service

controlSd2

Radar Simulator Project Structure

├───src
│   ├───main
│   │   ├───java
│   │   │   └───dev
│   │   │       └───elma
│   │   │           └───radarsimulation
│   │   │               ├───configuration
│   │   │               ├───dtos
│   │   │               └───services
│   │   └───resources
│   │       ├───static
│   │       └───templates
│   └───test
│       └───java
│           └───dev
│               └───elma
│                   └───radarsimulation
└───target
    ├───classes
    │   └───dev
    │       └───elma
    │           └───radarsimulation
    │               ├───configuration
    │               ├───dtos
    │               └───services
    └───generated-sources
        └───annotations

Radar Simulator Test

image

Project Results Angular

Authentication Page Home Page
Registration Page Radars Page
Violations Page