Compare commits
12 commits
be1c5f3b12
...
88d3bb8cc4
Author | SHA1 | Date | |
---|---|---|---|
|
88d3bb8cc4 | ||
621599e138 | |||
a2e50fb2a6 | |||
dabe491612 | |||
ac48357e7a | |||
4b83970a8c | |||
fb2148544a | |||
c3aa47cd3e | |||
829d289c6d | |||
4f9ca794c4 | |||
66472b28f6 | |||
ba2e989d49 |
13 changed files with 176 additions and 1 deletions
29
compose.yml
Normal file
29
compose.yml
Normal file
|
@ -0,0 +1,29 @@
|
|||
volumes:
|
||||
employee_postgres_data:
|
||||
driver: local
|
||||
|
||||
services:
|
||||
postgres-employee:
|
||||
container_name: postgres_employee
|
||||
image: postgres:13.3
|
||||
volumes:
|
||||
- employee_postgres_data:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_DB: employee_db
|
||||
POSTGRES_USER: employee
|
||||
POSTGRES_PASSWORD: secret
|
||||
ports:
|
||||
- "5432:5432"
|
||||
|
||||
employee:
|
||||
container_name: employee
|
||||
image: berndheidemann/employee-management-service:1.1.3
|
||||
# image: berndheidemann/employee-management-service_without_keycloak:1.1
|
||||
environment:
|
||||
spring.datasource.url: jdbc:postgresql://postgres-employee:5432/employee_db
|
||||
spring.datasource.username: employee
|
||||
spring.datasource.password: secret
|
||||
ports:
|
||||
- "8089:8089"
|
||||
depends_on:
|
||||
- postgres-employee
|
1
public/logo.svg
Normal file
1
public/logo.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg fill="none" height="48" viewBox="0 0 48 48" width="48" xmlns="http://www.w3.org/2000/svg"><rect fill="white" fill-opacity="0.01" height="48" width="48"></rect><path d="M24 20C28.4183 20 32 16.4183 32 12C32 7.58172 28.4183 4 24 4C19.5817 4 16 7.58172 16 12C16 16.4183 19.5817 20 24 20Z" fill="#2F88FF" stroke="black" stroke-linejoin="round" stroke-width="4"></path><path d="M24 20V38" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"></path><path d="M16 32H12L4 44H44L36 32H32" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"></path></svg>
|
After Width: | Height: | Size: 604 B |
|
@ -0,0 +1,5 @@
|
|||
|
||||
:host {
|
||||
display: block;
|
||||
height: 100vh;
|
||||
}
|
|
@ -5,10 +5,13 @@ import {
|
|||
MitarbeiterverwaltungViewComponent
|
||||
} from "./components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component";
|
||||
|
||||
import { NavigationBarComponent } from './components/navigation-bar/navigation-bar.component';
|
||||
import { EmployeeDetailComponent } from './components/employee-detail/employee-detail.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
standalone: true,
|
||||
imports: [RouterOutlet, LoginViewComponent, MitarbeiterverwaltungViewComponent],
|
||||
imports: [RouterOutlet, NavigationBarComponent, EmployeeDetailComponent, LoginViewComponent, MitarbeiterverwaltungViewComponent],
|
||||
templateUrl: './app.component.html',
|
||||
styleUrl: './app.component.css'
|
||||
})
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
<div class="d-flex flex-col" style="height: 100%;">
|
||||
<app-navigation-bar></app-navigation-bar>
|
||||
<div class="p-3" style="width: 100%;">
|
||||
<a href="" class="btn btn-primary">Zurück</a>
|
||||
<div class="row align-items-start pt-3">
|
||||
<div class="col">
|
||||
<h1>Name des Mitarbeiters</h1>
|
||||
<p><strong>Straße: </strong>Straße des Benutzers</p>
|
||||
<p><strong>Postleitzahl: </strong>Postleitzahl des Benutzers</p>
|
||||
<p><strong>Stadt: </strong>Stadt des Benutzers</p>
|
||||
<p><strong>Telefonnummer: </strong>Telefonnummer des Benutzers</p>
|
||||
<button class="btn btn-danger">Löschen</button>
|
||||
<button class="ms-3 btn btn-primary">Bearbeiten</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
<h2>Qualifikationen</h2>
|
||||
<ul class="list-group" style="width: fit-content;">
|
||||
<li class="list-group-item">Qualifikation 1</li>
|
||||
<li class="list-group-item">Qualifikation 2</li>
|
||||
<li class="list-group-item">Qualifikation 3</li>
|
||||
<li class="list-group-item">Qualifikation 4</li>
|
||||
<li class="list-group-item">Qualifikation 5</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { EmployeeDetailComponent } from './employee-detail.component';
|
||||
|
||||
describe('EmployeeDetailComponent', () => {
|
||||
let component: EmployeeDetailComponent;
|
||||
let fixture: ComponentFixture<EmployeeDetailComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [EmployeeDetailComponent]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(EmployeeDetailComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,13 @@
|
|||
import { Component } from '@angular/core';
|
||||
import { NavigationBarComponent } from '../navigation-bar/navigation-bar.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-employee-detail',
|
||||
standalone: true,
|
||||
imports: [NavigationBarComponent],
|
||||
templateUrl: './employee-detail.component.html',
|
||||
styleUrl: './employee-detail.component.css'
|
||||
})
|
||||
export class EmployeeDetailComponent {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
:host {
|
||||
display: block;
|
||||
height: 100%;
|
||||
width: 300px;
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
<div class="d-flex flex-column flex-shrink-0 p-3 text-bg-light border-end border-primary" style="width: 300px; height: 100%;">
|
||||
<a href="/" class="d-flex align-items-center mb-3 mb-md-0 me-md-auto text-black text-decoration-none">
|
||||
<img src="logo.svg" class="bi pe-none me-2" width="40" height="32"/>
|
||||
<span class="fs-4">Hi-Tec GmbH</span>
|
||||
</a>
|
||||
<hr>
|
||||
<ul class="nav nav-pills flex-column mb-auto">
|
||||
<li class="nav-item">
|
||||
<a href="#" class="nav-link active text-black" aria-current="page">
|
||||
Dashboard
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="nav-link text-black">
|
||||
Mitarbeiterverwaltung
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="nav-link text-black">
|
||||
Qualifikationsverwaltung
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { NavigationBarComponent } from './navigation-bar.component';
|
||||
|
||||
describe('NavigationBarComponent', () => {
|
||||
let component: NavigationBarComponent;
|
||||
let fixture: ComponentFixture<NavigationBarComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [NavigationBarComponent]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(NavigationBarComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,12 @@
|
|||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-navigation-bar',
|
||||
standalone: true,
|
||||
imports: [],
|
||||
templateUrl: './navigation-bar.component.html',
|
||||
styleUrl: './navigation-bar.component.css'
|
||||
})
|
||||
export class NavigationBarComponent {
|
||||
|
||||
}
|
|
@ -1 +1,10 @@
|
|||
/* You can add global styles to this file, and also import other style files */
|
||||
.container{
|
||||
min-height:100vh;
|
||||
}
|
||||
|
||||
html, body {
|
||||
min-height: 100%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue