|
@ -4,7 +4,7 @@ root = true
|
|||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
indent_size = 4
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
|
|
6702
Frontend/package-lock.json
generated
|
@ -1,48 +1,48 @@
|
|||
{
|
||||
"name": "betterzon",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
"build": "ng build",
|
||||
"test": "ng test",
|
||||
"lint": "ng lint",
|
||||
"e2e": "ng e2e"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^10.2.3",
|
||||
"@angular/common": "^10.2.3",
|
||||
"@angular/compiler": "^10.2.3",
|
||||
"@angular/core": "^10.2.3",
|
||||
"@angular/forms": "^10.2.3",
|
||||
"@angular/platform-browser": "^10.2.3",
|
||||
"@angular/platform-browser-dynamic": "^10.2.3",
|
||||
"@angular/router": "^10.2.3",
|
||||
"angular-cli": "^1.0.0-beta.28.3",
|
||||
"ng": "0.0.0",
|
||||
"rxjs": "~6.6.0",
|
||||
"tslib": "^2.0.3",
|
||||
"zone.js": "~0.10.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^0.1100.1",
|
||||
"@angular/cli": "^10.2.0",
|
||||
"@angular/compiler-cli": "^10.2.3",
|
||||
"@types/jasmine": "~3.5.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.19.4",
|
||||
"codelyzer": "^6.0.0",
|
||||
"jasmine-core": "~3.6.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
"karma": "~5.0.0",
|
||||
"karma-chrome-launcher": "~3.1.0",
|
||||
"karma-coverage-istanbul-reporter": "~3.0.2",
|
||||
"karma-jasmine": "~4.0.0",
|
||||
"karma-jasmine-html-reporter": "^1.5.0",
|
||||
"protractor": "~7.0.0",
|
||||
"ts-node": "~8.3.0",
|
||||
"tslint": "~6.1.0",
|
||||
"typescript": "^4.0.5"
|
||||
}
|
||||
"name": "betterzon",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
"build": "ng build",
|
||||
"test": "ng test",
|
||||
"lint": "ng lint",
|
||||
"e2e": "ng e2e"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^10.2.3",
|
||||
"@angular/cli": "^10.2.0",
|
||||
"@angular/common": "^10.2.3",
|
||||
"@angular/compiler": "^10.2.3",
|
||||
"@angular/core": "^10.2.3",
|
||||
"@angular/forms": "^10.2.3",
|
||||
"@angular/platform-browser": "^10.2.3",
|
||||
"@angular/platform-browser-dynamic": "^10.2.3",
|
||||
"@angular/router": "^10.2.3",
|
||||
"ng": "0.0.0",
|
||||
"rxjs": "~6.6.0",
|
||||
"tslib": "^2.0.3",
|
||||
"zone.js": "~0.10.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^0.1100.2",
|
||||
"@angular/cli": "^10.2.0",
|
||||
"@angular/compiler-cli": "^10.2.3",
|
||||
"@types/jasmine": "~3.5.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.19.8",
|
||||
"codelyzer": "^6.0.0",
|
||||
"jasmine-core": "~3.6.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
"karma": "~5.0.0",
|
||||
"karma-chrome-launcher": "~3.1.0",
|
||||
"karma-coverage-istanbul-reporter": "~3.0.2",
|
||||
"karma-jasmine": "~4.0.0",
|
||||
"karma-jasmine-html-reporter": "^1.5.0",
|
||||
"protractor": "~7.0.0",
|
||||
"ts-node": "~8.3.0",
|
||||
"tslint": "~6.1.0",
|
||||
"typescript": "<4.1.0"
|
||||
}
|
||||
}
|
||||
|
|
16
Frontend/src/app/api.service.spec.ts
Normal file
|
@ -0,0 +1,16 @@
|
|||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ApiService } from './api.service';
|
||||
|
||||
describe('ApiService', () => {
|
||||
let service: ApiService;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
service = TestBed.inject(ApiService);
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
27
Frontend/src/app/api.service.ts
Normal file
|
@ -0,0 +1,27 @@
|
|||
import {Injectable} from '@angular/core';
|
||||
import {HttpClient, HttpHeaders} from '@angular/common/http';
|
||||
import process from 'process';
|
||||
import {Product} from './models/product';
|
||||
import {Observable, of} from 'rxjs';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class ApiService {
|
||||
apiUrl = 'https://backend.betterzon.xyz';
|
||||
|
||||
constructor(
|
||||
private http: HttpClient
|
||||
) {
|
||||
}
|
||||
|
||||
getProducts(): Observable<Product[]> {
|
||||
try {
|
||||
const prods = this.http.get<Product[]>((this.apiUrl + '/products'));
|
||||
console.log(prods);
|
||||
return prods;
|
||||
} catch (exception) {
|
||||
process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +1 @@
|
|||
<app-hello-world></app-hello-world>
|
||||
<router-outlet></router-outlet>
|
||||
|
|
|
@ -1,18 +1,29 @@
|
|||
import { BrowserModule } from '@angular/platform-browser';
|
||||
import { NgModule } from '@angular/core';
|
||||
import {BrowserModule} from '@angular/platform-browser';
|
||||
import {HttpClientModule} from '@angular/common/http';
|
||||
import {NgModule} from '@angular/core';
|
||||
|
||||
import { AppComponent } from './app.component';
|
||||
import { HelloWorldComponent } from './hello-world/hello-world.component';
|
||||
import {AppComponent} from './app.component';
|
||||
import {AppRouting} from './app.routing';
|
||||
import {ProductListComponent} from './product-list/product-list.component';
|
||||
import { LandingpageComponent } from './landingpage/landingpage.component';
|
||||
import { ProductDetailPageComponent } from './product-detail-page/product-detail-page.component';
|
||||
import { FooterComponent } from './footer/footer.component';
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
AppComponent,
|
||||
HelloWorldComponent
|
||||
],
|
||||
imports: [
|
||||
BrowserModule
|
||||
],
|
||||
providers: [],
|
||||
bootstrap: [AppComponent]
|
||||
declarations: [
|
||||
AppComponent,
|
||||
ProductListComponent,
|
||||
LandingpageComponent,
|
||||
ProductDetailPageComponent,
|
||||
FooterComponent
|
||||
],
|
||||
imports: [
|
||||
BrowserModule,
|
||||
AppRouting,
|
||||
HttpClientModule
|
||||
],
|
||||
providers: [],
|
||||
bootstrap: [AppComponent]
|
||||
})
|
||||
export class AppModule { }
|
||||
export class AppModule {
|
||||
}
|
||||
|
|
24
Frontend/src/app/app.routing.ts
Normal file
|
@ -0,0 +1,24 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {RouterModule, Routes} from '@angular/router';
|
||||
import {AppComponent} from './app.component';
|
||||
import {ProductListComponent} from './product-list/product-list.component';
|
||||
import {LandingpageComponent} from './landingpage/landingpage.component';
|
||||
import {ProductDetailPageComponent} from './product-detail-page/product-detail-page.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{path: '', component: LandingpageComponent},
|
||||
{path: 'product', component: ProductDetailPageComponent}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
declarations: [],
|
||||
imports: [
|
||||
RouterModule.forRoot(routes)
|
||||
],
|
||||
exports: [
|
||||
RouterModule
|
||||
]
|
||||
})
|
||||
export class AppRouting {
|
||||
}
|
17
Frontend/src/app/footer/footer.component.css
Normal file
|
@ -0,0 +1,17 @@
|
|||
.footer {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
background-color: dimgrey;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.icon-3d {
|
||||
padding: 10px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
14
Frontend/src/app/footer/footer.component.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
<!--- footer --->
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
|
||||
<footer class="footer">
|
||||
<div class='wrap'>
|
||||
<div class="icons">
|
||||
<a href="https://github.com/Mueller-Patrick/Betterzon" class="fa fa-github fa-4x icon-3d"></a>
|
||||
<a href="https://twitter.com/elonmusk" class="fa fa-twitter fa-4x icon-3d"></a>
|
||||
<a href="https://www.facebook.com/TheElonmusk/" class="fa fa-facebook fa-4x icon-3d"></a>
|
||||
</div>
|
||||
<div class = "blocks" id="copyright">© COPYRIGHT 2020 </div>
|
||||
</div>
|
||||
</footer>
|
|
@ -1,20 +1,20 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { HelloWorldComponent } from './hello-world.component';
|
||||
import { FooterComponent } from './footer.component';
|
||||
|
||||
describe('HelloWorldComponent', () => {
|
||||
let component: HelloWorldComponent;
|
||||
let fixture: ComponentFixture<HelloWorldComponent>;
|
||||
describe('FooterComponent', () => {
|
||||
let component: FooterComponent;
|
||||
let fixture: ComponentFixture<FooterComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
declarations: [ HelloWorldComponent ]
|
||||
declarations: [ FooterComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(HelloWorldComponent);
|
||||
fixture = TestBed.createComponent(FooterComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
15
Frontend/src/app/footer/footer.component.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-footer',
|
||||
templateUrl: './footer.component.html',
|
||||
styleUrls: ['./footer.component.css']
|
||||
})
|
||||
export class FooterComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
<p>hello-world works! Title: </p>
|
||||
<a href="https://blog.betterzon.xyz">Blog</a>
|
|
@ -1,15 +0,0 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-hello-world',
|
||||
templateUrl: './hello-world.component.html',
|
||||
styleUrls: ['./hello-world.component.css']
|
||||
})
|
||||
export class HelloWorldComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
}
|
2
Frontend/src/app/landingpage/landingpage.component.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
<app-product-list numberOfProducts="20" showProductPicture="true"></app-product-list>
|
||||
<app-footer></app-footer>
|
25
Frontend/src/app/landingpage/landingpage.component.spec.ts
Normal file
|
@ -0,0 +1,25 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { LandingpageComponent } from './landingpage.component';
|
||||
|
||||
describe('LandingpageComponent', () => {
|
||||
let component: LandingpageComponent;
|
||||
let fixture: ComponentFixture<LandingpageComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
declarations: [ LandingpageComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(LandingpageComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
15
Frontend/src/app/landingpage/landingpage.component.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-landingpage',
|
||||
templateUrl: './landingpage.component.html',
|
||||
styleUrls: ['./landingpage.component.css']
|
||||
})
|
||||
export class LandingpageComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
}
|
14
Frontend/src/app/models/product.ts
Normal file
|
@ -0,0 +1,14 @@
|
|||
export interface Product {
|
||||
product_id: number;
|
||||
asin: string;
|
||||
is_active: boolean;
|
||||
name: string;
|
||||
short_description: string;
|
||||
long_description: string;
|
||||
image_guid: string;
|
||||
date_added: Date;
|
||||
last_modified: Date;
|
||||
manufacturer_id: number;
|
||||
selling_rank: string;
|
||||
category_id: number;
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<p>product-detail-page works!</p>
|
|
@ -0,0 +1,25 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ProductDetailPageComponent } from './product-detail-page.component';
|
||||
|
||||
describe('ProductDetailPageComponent', () => {
|
||||
let component: ProductDetailPageComponent;
|
||||
let fixture: ComponentFixture<ProductDetailPageComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
declarations: [ ProductDetailPageComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProductDetailPageComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,15 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-product-detail-page',
|
||||
templateUrl: './product-detail-page.component.html',
|
||||
styleUrls: ['./product-detail-page.component.css']
|
||||
})
|
||||
export class ProductDetailPageComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
}
|
6
Frontend/src/app/product-list/product-list.component.css
Normal file
|
@ -0,0 +1,6 @@
|
|||
.productItem {
|
||||
border-style: solid;
|
||||
border-color: dimgrey;
|
||||
border-radius: .5em;
|
||||
padding: .25em;
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
<meta charset="UTF-8">
|
||||
<p class="productItem" *ngFor="let product of products" (click)="clickedProduct(product)">
|
||||
{{product.name}}
|
||||
</p>
|
||||
<div *ngIf="showProductPicture">
|
||||
Test
|
||||
</div>
|
25
Frontend/src/app/product-list/product-list.component.spec.ts
Normal file
|
@ -0,0 +1,25 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ProductListComponent } from './product-list.component';
|
||||
|
||||
describe('ProductListComponent', () => {
|
||||
let component: ProductListComponent;
|
||||
let fixture: ComponentFixture<ProductListComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
declarations: [ ProductListComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProductListComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
41
Frontend/src/app/product-list/product-list.component.ts
Normal file
|
@ -0,0 +1,41 @@
|
|||
import {Component, Input, OnInit} from '@angular/core';
|
||||
import {ApiService} from '../api.service';
|
||||
import {Product} from '../models/product';
|
||||
import {Router} from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-product-list',
|
||||
templateUrl: './product-list.component.html',
|
||||
styleUrls: ['./product-list.component.css']
|
||||
})
|
||||
export class ProductListComponent implements OnInit {
|
||||
products: Product[];
|
||||
@Input() numberOfProducts: number;
|
||||
@Input() showProductPicture: boolean;
|
||||
|
||||
constructor(
|
||||
private apiService: ApiService,
|
||||
private router: Router
|
||||
) {
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.getProducts();
|
||||
|
||||
if (!this.numberOfProducts) {
|
||||
this.numberOfProducts = 10;
|
||||
}
|
||||
if (!this.showProductPicture) {
|
||||
this.showProductPicture = false;
|
||||
}
|
||||
}
|
||||
|
||||
getProducts(): void {
|
||||
this.apiService.getProducts().subscribe(products => this.products = products);
|
||||
}
|
||||
|
||||
clickedProduct(product: Product): void {
|
||||
this.router.navigate([('/helloworld/' + product.product_id)]);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
# Betterzon
|
||||
Website: https://betterzon.xyz<br>
|
||||
Website: https://www.betterzon.xyz<br>
|
||||
Blog: https://blog.betterzon.xyz<br>
|
||||
Wiki: https://github.com/Mueller-Patrick/Betterzon/wiki
|
||||
|
||||
|
|
227
doku/AC-ManageVendorShop.drawio
Normal file
|
@ -0,0 +1,227 @@
|
|||
<mxfile host="app.diagrams.net" modified="2020-12-03T11:41:32.250Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" etag="uRPGeO05pJ0AHwPZkFaV" version="13.10.6" type="github">
|
||||
<diagram id="1FtotTu9mR2_sEpA9Rtm" name="Page-1">
|
||||
<mxGraphModel dx="446" dy="448" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-1" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="225" y="110" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-2" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="8x2PvsE8vemwwiOMz4da-1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="240" y="230" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-14" value="Vendor goes to landing page" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="180" y="230" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-15" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="8x2PvsE8vemwwiOMz4da-14" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="240" y="330" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-16" value="Vendor clicks on "Vendors"" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="180" y="330" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-17" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="8x2PvsE8vemwwiOMz4da-16" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="240" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-20" value="Vendor is logged in?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="164" y="430" width="150" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-21" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="8x2PvsE8vemwwiOMz4da-20" parent="1">
|
||||
<mxGeometry x="-1" relative="1" as="geometry">
|
||||
<mxPoint x="400" y="465" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-22" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="8x2PvsE8vemwwiOMz4da-20" parent="1">
|
||||
<mxGeometry x="-1" relative="1" as="geometry">
|
||||
<mxPoint x="239" y="560" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-27" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" parent="1">
|
||||
<mxGeometry x="-1" relative="1" as="geometry">
|
||||
<mxPoint x="474.5" y="562.5" as="targetPoint" />
|
||||
<mxPoint x="474.5" y="500" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="474.5" y="517.5" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-28" value="Vendor is registered?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="400" y="430" width="150" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-29" value="Vendor can login" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="415" y="560" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-30" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="8x2PvsE8vemwwiOMz4da-29" parent="1" target="8x2PvsE8vemwwiOMz4da-31">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="475" y="660" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-31" value=""Manage Vendor Shop" Overview Page is displayed" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="179" y="560" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-32" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="8x2PvsE8vemwwiOMz4da-31" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="239" y="670" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="239" y="660" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-35" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="8x2PvsE8vemwwiOMz4da-28">
|
||||
<mxGeometry x="-1" relative="1" as="geometry">
|
||||
<mxPoint x="730" y="464.71" as="targetPoint" />
|
||||
<mxPoint x="560" y="465.21" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="730" y="465" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-36" value=""Vendor Register Page" is shown" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="730" y="445" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-37" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="8x2PvsE8vemwwiOMz4da-36" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="790" y="515" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-38" value="Vendor can register" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="730" y="520" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-39" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="8x2PvsE8vemwwiOMz4da-38" parent="1" target="8x2PvsE8vemwwiOMz4da-42">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="790" y="590" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-42" value="Registration waits for manual approval" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="730" y="610" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-43" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="8x2PvsE8vemwwiOMz4da-42" parent="1" target="8x2PvsE8vemwwiOMz4da-46">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="670" y="635" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="680" y="630" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-46" value="Registration is valid?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="570" y="570" width="110" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-47" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" source="8x2PvsE8vemwwiOMz4da-46" parent="1">
|
||||
<mxGeometry x="-0.3332" y="5" relative="1" as="geometry">
|
||||
<mxPoint x="625" y="700" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="625" y="680" />
|
||||
<mxPoint x="625" y="680" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-48" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="8x2PvsE8vemwwiOMz4da-46" parent="1" target="8x2PvsE8vemwwiOMz4da-29">
|
||||
<mxGeometry x="0.4169" y="-10" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="760" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-49" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="610" y="700" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-50" value="Vendor can manage Shop" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="179" y="670" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-53" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="8x2PvsE8vemwwiOMz4da-50" target="8x2PvsE8vemwwiOMz4da-58">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="105" y="880" as="targetPoint" />
|
||||
<mxPoint x="164" y="690" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="60" y="690" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-54" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="8x2PvsE8vemwwiOMz4da-60">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="170" y="920" as="targetPoint" />
|
||||
<mxPoint x="195" y="710" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="195" y="710" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-55" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="8x2PvsE8vemwwiOMz4da-50" target="8x2PvsE8vemwwiOMz4da-62">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="340" y="880" as="targetPoint" />
|
||||
<mxPoint x="280" y="710" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="480" y="690" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-58" value="Vendor can log out" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry y="920" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-60" value="Vendor activate/deactivate listings" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="135" y="920" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-61" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" parent="1" target="8x2PvsE8vemwwiOMz4da-64">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="66" y="1020" as="targetPoint" />
|
||||
<mxPoint x="60" y="960" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-62" value="Vendor can change contact information" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="420" y="920" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-63" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" source="8x2PvsE8vemwwiOMz4da-62" parent="1" target="8x2PvsE8vemwwiOMz4da-50">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="500" y="670" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="480" y="1020" />
|
||||
<mxPoint x="560" y="1020" />
|
||||
<mxPoint x="560" y="680" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-64" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="45" y="1020" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-65" value="Vendor can activate/deactivate shop entirely" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="280" y="920" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-66" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="8x2PvsE8vemwwiOMz4da-65" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="300" y="680" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="340" y="1020" />
|
||||
<mxPoint x="560" y="1020" />
|
||||
<mxPoint x="560" y="680" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-67" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" parent="1" source="8x2PvsE8vemwwiOMz4da-50">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="340.03" y="920" as="targetPoint" />
|
||||
<mxPoint x="320" y="690" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="264" y="840" />
|
||||
<mxPoint x="340" y="840" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8x2PvsE8vemwwiOMz4da-73" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=none;endSize=8;strokeColor=#ff0000;endFill=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" source="8x2PvsE8vemwwiOMz4da-60" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="370" y="1020" as="targetPoint" />
|
||||
<mxPoint x="210" y="960" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="195" y="1020" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
BIN
doku/AC-ManageVendorShop.png
Normal file
After Width: | Height: | Size: 66 KiB |
190
doku/AC_FavoriteShopList.drawio
Normal file
|
@ -0,0 +1,190 @@
|
|||
<mxfile host="app.diagrams.net" modified="2020-12-06T21:54:07.076Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" etag="eUYNFtx8g7yoIU2ueGTq" version="13.10.9" type="github">
|
||||
<diagram id="vU0a4XMVAzZGOWdaQMjT" name="Page-1">
|
||||
<mxGraphModel dx="1745" dy="922" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-1" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="210" y="80" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-2" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="170" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-3" value="User goes to Landing Page" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="165" y="170" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-4" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-3" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="270" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-5" value="User searches for Product" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="165" y="270" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-6" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-5" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="370" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-7" value="User selects Product" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="165" y="370" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-8" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-7" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="470" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-11" value="User clicks on Vendor" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="165" y="470" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-12" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-11" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="570" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-13" value="User clicks on favorite Button" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="165" y="570" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-14" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-13" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="225" y="670" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-15" value="User is logged in?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="170" y="670" width="110" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-16" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-15" parent="1" target="Hl9egU3SmJGG6HS5V9Vv-18">
|
||||
<mxGeometry x="-1" relative="1" as="geometry">
|
||||
<mxPoint x="360" y="700" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-17" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-15" parent="1">
|
||||
<mxGeometry x="-1" relative="1" as="geometry">
|
||||
<mxPoint x="225" y="810" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="225" y="800" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-18" value="User can login" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="685" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-19" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-18" parent="1" target="Hl9egU3SmJGG6HS5V9Vv-13">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="320" y="520" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="490" y="700" />
|
||||
<mxPoint x="490" y="520" />
|
||||
<mxPoint x="255" y="520" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-20" value="Vendor is added to List of Favorite Vendors" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="165" y="810" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-21" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-20" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="247" y="170" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="225" y="910" />
|
||||
<mxPoint x="510" y="910" />
|
||||
<mxPoint x="510" y="120" />
|
||||
<mxPoint x="247" y="120" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-22" value="User clicks on <br>Profile Icon" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="-10" y="270" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-23" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-22" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="50" y="370" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-25" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="50" y="270" as="targetPoint" />
|
||||
<mxPoint x="220" y="210" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="50" y="230" />
|
||||
<mxPoint x="50" y="270" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-26" value="User is logged in?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="-15" y="370" width="130" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-27" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-26" parent="1" target="Hl9egU3SmJGG6HS5V9Vv-29">
|
||||
<mxGeometry x="-1" relative="1" as="geometry">
|
||||
<mxPoint x="130" y="365" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="130" y="405" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-28" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-26" parent="1">
|
||||
<mxGeometry x="-1" relative="1" as="geometry">
|
||||
<mxPoint x="50" y="520" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-29" value="User can login" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="70" y="320" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-30" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-29" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="194" y="170" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="130" y="120" />
|
||||
<mxPoint x="194" y="120" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-31" value="Profile Options are displayed" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="-10" y="520" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-32" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-31" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="50" y="610" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-33" value="User selects "Favorite Vendors"" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="-10" y="610" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-34" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-33" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="50" y="710" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-37" value=""Favorite Vendors" Page is displayed" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="-10" y="710" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-38" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-37" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="50" y="810" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-43" value="User can delete Favorite Vendors" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="-10" y="810" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-44" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="Hl9egU3SmJGG6HS5V9Vv-43" parent="1" target="Hl9egU3SmJGG6HS5V9Vv-37">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="-40" y="700" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="50" y="895" />
|
||||
<mxPoint x="-40" y="895" />
|
||||
<mxPoint x="-40" y="730" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-49" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="370" y="239" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Hl9egU3SmJGG6HS5V9Vv-50" value="User can end Activity
 at any time" style="text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="270" width="130" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
BIN
doku/AC_FavoriteShopList.png
Normal file
After Width: | Height: | Size: 57 KiB |
1
doku/AC_VendorShop.drawio
Normal file
|
@ -0,0 +1 @@
|
|||
<mxfile host="app.diagrams.net" modified="2020-12-03T11:44:41.975Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" version="13.10.6" etag="3TbEswIUj7dBRpMdLXCP" type="github"><diagram id="vU0a4XMVAzZGOWdaQMjT">UzV2zq1wL0osyPDNT0nNUTV2VTV2LsrPL4GwciucU3NyVI0MMlNUjV1UjYwMgFjVyA2HrCFY1qAgsSg1rwSLBiADYTaQg2Y1AA==</diagram></mxfile>
|
73
doku/Deployment_View.drawio
Normal file
|
@ -0,0 +1,73 @@
|
|||
<mxfile host="app.diagrams.net" modified="2020-12-06T21:53:38.296Z" agent="5.0 (Windows)" etag="hYGDNP_IhNc-POs3TVJ_" version="13.10.0" type="github">
|
||||
<diagram id="QF3JeXm2v-cOY2pJoseE" name="Page-1">
|
||||
<mxGraphModel dx="1809" dy="554" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-11" value="Server" style="verticalAlign=top;align=left;spacingTop=8;spacingLeft=2;spacingRight=12;shape=cube;size=10;direction=south;fontStyle=4;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="40" width="180" height="280" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-12" value="GitHub" style="verticalAlign=top;align=left;spacingTop=8;spacingLeft=2;spacingRight=12;shape=cube;size=10;direction=south;fontStyle=4;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="40" width="180" height="280" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=35;exitPerimeter=0;" edge="1" parent="1" source="SwTz14L5hBOFtSALRySW-13" target="SwTz14L5hBOFtSALRySW-14">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="230" y="125" />
|
||||
<mxPoint x="230" y="125" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-20" value="Sending build status" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="SwTz14L5hBOFtSALRySW-18">
|
||||
<mxGeometry x="-0.0491" y="-1" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="SwTz14L5hBOFtSALRySW-13" target="SwTz14L5hBOFtSALRySW-23">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-25" value="Deploying changes" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="SwTz14L5hBOFtSALRySW-24">
|
||||
<mxGeometry x="-0.7533" relative="1" as="geometry">
|
||||
<mxPoint y="3.89" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-13" value="CI/CD
Jenkins-
Instance
" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="390" y="90" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0;entryDx=0;entryDy=15;entryPerimeter=0;" edge="1" parent="1" source="SwTz14L5hBOFtSALRySW-14" target="SwTz14L5hBOFtSALRySW-13">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="230" y="105" />
|
||||
<mxPoint x="230" y="105" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-19" value="<div>Automatically pulling changes<br></div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="SwTz14L5hBOFtSALRySW-16">
|
||||
<mxGeometry x="-0.0848" y="1" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-14" value="Repo" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="70" y="90" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-21" value="" style="endArrow=classic;html=1;entryX=0;entryY=0;entryDx=0;entryDy=15;entryPerimeter=0;" edge="1" parent="1" target="SwTz14L5hBOFtSALRySW-14">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint y="105" as="sourcePoint" />
|
||||
<mxPoint x="70" y="100" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-22" value="Push" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="SwTz14L5hBOFtSALRySW-21">
|
||||
<mxGeometry x="-0.4691" y="1" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-23" value="Webserver
(Backend &
Frontend)
" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="390" y="170" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="SwTz14L5hBOFtSALRySW-26" value="Database" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
|
||||
<mxGeometry x="390" y="250" width="100" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
BIN
doku/Deployment_View.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
doku/ERM.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
doku/betterzon_stack.png
Normal file
After Width: | Height: | Size: 444 KiB |
|
@ -1,199 +1 @@
|
|||
<mxfile host="app.diagrams.net" modified="2020-10-22T09:31:05.721Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36" etag="zUl4IRelcKPObecK6O1r" version="13.8.1" type="github">
|
||||
<diagram id="QFWcWedTnleHV76omDGD" name="Page-1">
|
||||
<mxGraphModel dx="1422" dy="807" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-1" value="Registered User" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="130" y="130" width="30" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-4" value="" style="endArrow=none;html=1;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="200" y="80" as="sourcePoint" />
|
||||
<mxPoint x="640" y="80" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-5" value="" style="endArrow=none;html=1;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="200" y="840" as="sourcePoint" />
|
||||
<mxPoint x="200" y="80" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-6" value="" style="endArrow=none;html=1;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="640" y="840" as="sourcePoint" />
|
||||
<mxPoint x="640" y="80" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-7" value="" style="endArrow=none;html=1;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="200" y="840" as="sourcePoint" />
|
||||
<mxPoint x="640" y="840" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-10" value="Search for Product" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="210" y="280" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-11" value="" style="endArrow=none;html=1;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="200" y="120" as="sourcePoint" />
|
||||
<mxPoint x="640" y="120" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-12" value="betterzon.xyz" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="394" y="90" width="40" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-13" value="Unregistered User" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="130" y="275" width="30" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-17" value="Unregistered <br>Shop Owner" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="130" y="770" width="30" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-19" value="Sort by price" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="220" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-22" value="Sort by location" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="280" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-23" value="smart sort" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="340" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-25" value="Login" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="210" y="135" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-27" value="Business Registration" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="210" y="775" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-28" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="zG22HQRfr113MJy_nXjD-13" target="zG22HQRfr113MJy_nXjD-10" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="530" as="sourcePoint" />
|
||||
<mxPoint x="590" y="480" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-29" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="zG22HQRfr113MJy_nXjD-1" target="zG22HQRfr113MJy_nXjD-25" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="20" y="155" as="sourcePoint" />
|
||||
<mxPoint x="70" y="105" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-30" value="" style="endArrow=none;html=1;" parent="1" source="zG22HQRfr113MJy_nXjD-17" target="zG22HQRfr113MJy_nXjD-27" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="545" as="sourcePoint" />
|
||||
<mxPoint x="590" y="495" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-31" value="" style="endArrow=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="zG22HQRfr113MJy_nXjD-10" target="zG22HQRfr113MJy_nXjD-19" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="530" as="sourcePoint" />
|
||||
<mxPoint x="590" y="480" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-32" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="zG22HQRfr113MJy_nXjD-22" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="330" y="305" as="sourcePoint" />
|
||||
<mxPoint x="170" y="370" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-33" value="" style="endArrow=none;html=1;exitX=0.992;exitY=0.64;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="zG22HQRfr113MJy_nXjD-10" target="zG22HQRfr113MJy_nXjD-23" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="530" as="sourcePoint" />
|
||||
<mxPoint x="590" y="480" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-34" value="set price alarm" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="135" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="zG22HQRfr113MJy_nXjD-35" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="zG22HQRfr113MJy_nXjD-25" target="zG22HQRfr113MJy_nXjD-34" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="225" as="sourcePoint" />
|
||||
<mxPoint x="350" y="163" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="HbB2AJq1uTnI_qS1wT4K-1" value="Register" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="210" y="360" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="HbB2AJq1uTnI_qS1wT4K-4" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="zG22HQRfr113MJy_nXjD-13" target="HbB2AJq1uTnI_qS1wT4K-1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="120" y="470" as="sourcePoint" />
|
||||
<mxPoint x="170" y="420" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="HbB2AJq1uTnI_qS1wT4K-6" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="zG22HQRfr113MJy_nXjD-1" target="zG22HQRfr113MJy_nXjD-10" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="80" y="260" as="sourcePoint" />
|
||||
<mxPoint x="130" y="210" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="HbB2AJq1uTnI_qS1wT4K-9" value="Registered <br>Shop Owner" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
|
||||
<mxGeometry x="130" y="620" width="30" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="HbB2AJq1uTnI_qS1wT4K-14" value="Manage Account" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="210" y="590" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="HbB2AJq1uTnI_qS1wT4K-15" value="Apply for <br>Participation" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="210" y="660" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="HbB2AJq1uTnI_qS1wT4K-16" value="" style="endArrow=none;html=1;" parent="1" source="HbB2AJq1uTnI_qS1wT4K-9" target="HbB2AJq1uTnI_qS1wT4K-14" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="260" y="570" as="sourcePoint" />
|
||||
<mxPoint x="310" y="520" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="HbB2AJq1uTnI_qS1wT4K-17" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="HbB2AJq1uTnI_qS1wT4K-9" target="HbB2AJq1uTnI_qS1wT4K-15" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="90" y="750" as="sourcePoint" />
|
||||
<mxPoint x="140" y="700" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-3" value="" style="shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;image=img/clipart/Gear_128x128.png" vertex="1" parent="1">
|
||||
<mxGeometry x="120" y="460" width="50" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-4" value="System" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="115" y="520" width="60" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-7" value="Crawl Shops" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="210" y="465" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-8" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AN68Dm_Q30RVdqnMXz4Q-3" target="AN68Dm_Q30RVdqnMXz4Q-7">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="10" y="480" as="sourcePoint" />
|
||||
<mxPoint x="60" y="430" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-10" value="Write to Database" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="394" y="465" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-11" value="" style="endArrow=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="AN68Dm_Q30RVdqnMXz4Q-7" target="AN68Dm_Q30RVdqnMXz4Q-10">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="430" as="sourcePoint" />
|
||||
<mxPoint x="590" y="380" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-12" value="Database" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
|
||||
<mxGeometry x="560" y="420" width="60" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-14" value="Read from Database" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="394" y="410" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-16" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="AN68Dm_Q30RVdqnMXz4Q-14" target="AN68Dm_Q30RVdqnMXz4Q-12">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="610" as="sourcePoint" />
|
||||
<mxPoint x="590" y="560" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-17" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="AN68Dm_Q30RVdqnMXz4Q-10" target="AN68Dm_Q30RVdqnMXz4Q-12">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="520" y="650" as="sourcePoint" />
|
||||
<mxPoint x="570" y="600" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AN68Dm_Q30RVdqnMXz4Q-20" value="&lt;&lt;include&gt;&gt;" style="edgeStyle=none;html=1;endArrow=open;verticalAlign=bottom;dashed=1;labelBackgroundColor=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="zG22HQRfr113MJy_nXjD-10" target="AN68Dm_Q30RVdqnMXz4Q-14">
|
||||
<mxGeometry width="160" relative="1" as="geometry">
|
||||
<mxPoint x="480" y="610" as="sourcePoint" />
|
||||
<mxPoint x="640" y="610" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
<mxfile host="app.diagrams.net" modified="2020-12-03T09:39:52.243Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" etag="RUzsjnuqX_zRTCHSTruo" version="13.10.6" type="github"><diagram id="QFWcWedTnleHV76omDGD" name="Page-1">5Vzbdps6EP0aPzYLxMX40Una9JbTNG5Pc56yZFBsWkCukGM7X38kDBgkxXYxt6QPyTJjkGHPnotGIwbGRbi+InAxv8YeCgZA89YD43IAwNDR2H8u2GQCcyuYEd/bivSdYOI/oVSYXjdb+h6KSydSjAPqL8pCF0cRcmlJBgnBq/JpDzgo/+oCzpAkmLgwkKU/fI/Ot1IHDHfy98ifzbNf1u3R9psQZienTxLPoYdXBZHxdmBcEIzp9lO4vkABxy7DZXvdu2e+zW+MoIgec8HTFQDvv94+EF03rj9u7qO7n5dv0lEeYbBMH/gWzfyYIoI8Jv8eI5LePd1kkLAHWfCPyzAYuxSTgXH+iAj1GWif4RQFNzj2qY8jdsoUU4rDwgnjwJ/xLyheMOmchgE70NlH+WmyW2NXonVBlD7dFcIhomTDTsm+NVKkN8Lxaqe4TDQv6MxOZTClyiwfeYcm+5AC+gfgmhK4EpYo8sacpewowhE6EhPklUgrI1J4YkvxxJmMoABS/7FMdRUM6S/cYJ/dSQ440MqAOwKQMV4SF6UXFZkpjGOb+8ehkMwQlcZJdJI/dHU1WX+ZmkZ6RT0d0nfDerJfuZ5EM6isp47tKbvtgqImCBJ3nsRfFk+0G4K9pUtl9QUBi+tcbau5T9FkAV3+zYplFmVVPvhBcIEDHnvYdYYHkfPgMnlMCf6FCt/YroOmD/XEF6BbJVgNS44vOtjDj9oDjC6H79dlEqLHyeE91SSkgZq2CSBpaoooS7OecHS23jxJamOcpGVdlbmd6rJoCKkIpimWy3SKiCL3Cn3PC54zMoKXkYf4o2j1WI0xMsteTTYaU0EgUT/12YwhaeJ7RF5w0is4JdOS8G016dWHh/AdADvg3J4ylO0Z/zSZM2SA9mUVtYU8XtLAj5g1ZbPGmtguqsMxZbq3q46RHIwx4Z5xym97QXxm/ZXjcA2ImVoZMZWDaDeqZkH0GcgC7MKEb31CrftcBMh+NQ5hAlucoNcjtEy9c7TkSednPPO7JVVedMsLKHIsaRkmOZicL2PmuOOYSbelKtK9NYozA0cRhFsGzpGAkxHaNzNgYJDNXRoYk4P/+MGZlR1erotfXm4OxdBtpn5EYrbNxPedmILWkzmKZZaVb2sV5yjWqDyQJbKj4TkKkFOF3nPmSMpk7rYnlAGCn7WsaowZCuNowjgNEyZLZOsvPxxW/PBYzQ97pXnJWegVVS85C7tl3Z9aekJrn94VPhdcBTvaeQp+kDmKDhyMdmxQGvWbZy81KBnyZKzjoHTY5YBeUcEQK0TDii5HHwqzKLNlKsgzzGouRzsbjUDJ7djmfr/DDm4Q8dkT8Ipq331RNhXvCQFfjy+SF/RjxO8vraJpMIAklDnZaqWjb1N449Tl9fYNLZstHDS0jBC9MbSy8gGo6OnzamLGIttoytDeT8/B+ONvffkt+nD/e6Kvvpmf9nQldWpcYpnHVDQYNWZcSqBO7TDqR5VnHwd6Ylo6EEKPmPtUTqJGjcUwJaynNtH0t8bTs7KgI/hicYXvaMIIXY1A7ApqmDByUfD2b13MtRVLk00t5qp9ouzvr2HEO5iBNnZdvIy6XWcTA6Rtdx0gdTn7HC8WAb/nbSuazN8byOnmL/q3rDTsPN/QG+vBLIaBfX7ocN7Qr5wc2IJJVE0cDIEMVsuJg6Kvp0eZw2mU6dfqkFDlcKr2POpC3WU4bIwx439s5zK8/2pot/96v6Pruyfz65sjynVZOuCHyTacIl0qpgXJSON4sUsE0rHZb8zYY7jMfSddKe+uECT3OnDW7O9sEc3qSBjEWYLCYauIU0fCoFSBnC9MNix1k2tUcrvp8W2kBMX+E5wmQ3HAF5xQyZNY5wPrko+1pEyBydauutoehSVUS5Ga2Qqk62grVSIte8cLAlf8Mp4Px73KI6w2i4JKtHrdnbLPmRVjyT4e9CSUiIoXFXp0+7wwjljBbziSKHaU/CDMarhCMPt3CSmcwrjbRlZjNOqZlZ28PaTKGn11E1O0dOxlQ09sTFzekoyj6vKW2dzylhpXINHlWcPKEjd3E/iRh4hx2MSm250ln6e5ALq/Zsl+ky/bAk4qzzIFzrNONnpZ9jM12gPJhbjPrj5DlvO4WwQ9JnkgLBeuwwF2ArToMk1HBrpll1mpwOHBeJ7smdLLoHL5DeTbvKJEAjQjhzR7mwBo3c9mbDrsaEGvHa1ddb+56Ghto2VHW6mU8sJIpmhWeREkE6bww6rVF0tY6LNbrr4AOWceABuG3O8nFe/ykR+5wdJDuXBWOiU9EjnKVDZJD1VztJzBeIEiRQUhL+WUqB3wgs95nhsIu1tfbtvoXl/8J+zX7Xqobjo1+VP7kGOukeqfrp782ysYP9Jfn7/d2T+nWqRoFznCnUqTP0EFCsV3toZQ1ws8Dr5homFFyRMMgkL8yOfxtbbQSRnoUcp8poUurxm2kpSqYKur77U9n3nYliq24T1Pq66M0xA2TVZu9DBsYaCWjbPh5taqE8yTbNkSbDlfAuvMluV+hAZaiGvFzGlza7kSs3qaDvob302npvguDjRsboeGUlGntgi8NEVJ+FZNxNpWlLz+dhPAKEo6+rZ9USblr+uaoBAp26779Hqi07I9QaUOUKzaNLaSrNKN3HD5IVwETBEML66f5CUk1+zukCJQvFq9DFWvVKhJL+xw9xrWrYnt3mVrvP0f</diagram></mxfile>
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 87 KiB |