Merge pull request #92 from SELab-2/docs/keycloak
Breidt documentatie uit met Keycloak
This commit is contained in:
commit
d902d8a3e5
5 changed files with 59 additions and 21 deletions
20
README.md
20
README.md
|
@ -10,7 +10,7 @@ Projectopgave</a></span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul align="center" style="list-style-type: none">
|
<ul align="center" style="list-style-type: none">
|
||||||
<li>Projectleider: Fransisco Van Langenhove (<a href="https://github.com/Gabriellvl">@Gabriellvl</a>)</li>
|
<li>Projectleider: Fransisco Gabriel Van Langenhove (<a href="https://github.com/Gabriellvl">@Gabriellvl</a>)</li>
|
||||||
<li>Technische lead: Tibo De Peuter (<a href="https://github.com/tdpeuter">@tdpeuter</a>)</li>
|
<li>Technische lead: Tibo De Peuter (<a href="https://github.com/tdpeuter">@tdpeuter</a>)</li>
|
||||||
<li>Systeembeheerder: Timo De Meyst (<a href="https://github.com/kloep1">@kloep1</a>)</li>
|
<li>Systeembeheerder: Timo De Meyst (<a href="https://github.com/kloep1">@kloep1</a>)</li>
|
||||||
<li>Customer relations officer: Adriaan Jacquet (<a href="https://github.com/WhisperinCheetah">@WhisperinCheetah</a>)</li>
|
<li>Customer relations officer: Adriaan Jacquet (<a href="https://github.com/WhisperinCheetah">@WhisperinCheetah</a>)</li>
|
||||||
|
@ -21,17 +21,28 @@ en lessen kunnen samenstellen hun leerlingen en hun vooruitgang kunnen opvolgen.
|
||||||
|
|
||||||
## Installatie
|
## Installatie
|
||||||
|
|
||||||
|
Om de applicatie in te stellen voor een productieomgeving, volg de [installatiehandleiding](https://github.com/SELab-2/Dwengo-1/wiki/Administrator:-Productie-omgeving).
|
||||||
|
|
||||||
|
Alternatief kan je één van de volgende methodes gebruiken om de applicatie lokaal te draaien.
|
||||||
|
|
||||||
### Quick start
|
### Quick start
|
||||||
|
|
||||||
1. Installeer Docker en Docker Compose op je systeem (zie [Docker](https://docs.docker.com/get-docker/) en [Docker Compose](https://docs.docker.com/compose/)).
|
1. Installeer Docker en Docker Compose op je systeem (zie [Docker](https://docs.docker.com/get-docker/) en [Docker Compose](https://docs.docker.com/compose/)).
|
||||||
2. Clone deze repository.
|
2. Clone deze repository.
|
||||||
3. Voer `docker compose up` uit in de root van de repository.
|
3. In de backend, kopieer `.env.example` (of `.env.development.example`) naar `.env` en pas de variabelen aan waar nodig.
|
||||||
|
4. Voer `docker compose up` uit in de root van de repository.
|
||||||
|
5. Optioneel: Configureer de applicatie aan de hand van de [configuratiehandleiding](https://github.com/SELab-2/Dwengo-1/wiki/Administrator:-Productie-omgeving#dwengo-1-configuratie).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose version
|
docker compose version
|
||||||
git clone https://github.com/SELab-2/Dwengo-1.git
|
git clone https://github.com/SELab-2/Dwengo-1.git
|
||||||
cd Dwengo-1
|
cd Dwengo-1/backend
|
||||||
|
cp .env.example .env
|
||||||
|
# Pas .env aan
|
||||||
|
nano .env
|
||||||
|
cd ..
|
||||||
docker compose up
|
docker compose up
|
||||||
|
# Configureer de applicatie
|
||||||
```
|
```
|
||||||
|
|
||||||
### Handmatige installatie
|
### Handmatige installatie
|
||||||
|
@ -46,8 +57,9 @@ De tech-stack bestaat uit:
|
||||||
|
|
||||||
- **Frontend**: TypeScript + Vue.js + Vuetify
|
- **Frontend**: TypeScript + Vue.js + Vuetify
|
||||||
- **Backend**: TypeScript + Node.js + Express.js + TypeORM + PostgreSQL
|
- **Backend**: TypeScript + Node.js + Express.js + TypeORM + PostgreSQL
|
||||||
|
- **Identity provider**: Keycloak
|
||||||
|
|
||||||
Voor meer informatie over de keuze van deze tech-stack, zie [designkeuzes](https://github.com/SELab-2/Dwengo-1/wiki/Design-keuzes).
|
Voor meer informatie over de keuze van deze tech-stack, zie [designkeuzes](https://github.com/SELab-2/Dwengo-1/wiki/Developer:-Design-keuzes).
|
||||||
|
|
||||||
## Bijdragen aan Dwengo-1
|
## Bijdragen aan Dwengo-1
|
||||||
|
|
||||||
|
|
BIN
assets/img/keycloak.png
Normal file
BIN
assets/img/keycloak.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
|
@ -20,3 +20,10 @@ npm run dev
|
||||||
npm run build
|
npm run build
|
||||||
npm run start
|
npm run start
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Keycloak configuratie
|
||||||
|
|
||||||
|
Tijdens development is het voldoende om gebruik te maken van de keycloak configuratie die automatisch ingeladen wordt.
|
||||||
|
|
||||||
|
Voor productie is het ten sterkste aangeraden om keycloak manueel te configureren.
|
||||||
|
Voor meer informatie, zie de [administrator-handleiding](https://github.com/SELab-2/Dwengo-1/wiki/Administrator:-Productie-omgeving#installatie-en-server-configuratie).
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 118 KiB |
|
@ -1,30 +1,49 @@
|
||||||
from diagrams import Cluster, Diagram
|
from diagrams import Cluster, Diagram, Edge
|
||||||
from diagrams.custom import Custom
|
from diagrams.custom import Custom
|
||||||
from diagrams.onprem.certificates import LetsEncrypt
|
from diagrams.onprem.certificates import LetsEncrypt
|
||||||
from diagrams.onprem.container import Docker
|
|
||||||
from diagrams.onprem.database import PostgreSQL
|
from diagrams.onprem.database import PostgreSQL
|
||||||
from diagrams.onprem.logging import Loki
|
from diagrams.onprem.logging import Loki
|
||||||
from diagrams.onprem.monitoring import Grafana
|
from diagrams.onprem.monitoring import Grafana
|
||||||
from diagrams.onprem.network import Nginx
|
from diagrams.onprem.network import Nginx
|
||||||
|
from diagrams.programming.flowchart import InputOutput
|
||||||
from diagrams.programming.framework import Vue
|
from diagrams.programming.framework import Vue
|
||||||
from diagrams.programming.language import Nodejs
|
from diagrams.programming.language import Nodejs
|
||||||
from diagrams.programming.flowchart import InputOutput
|
|
||||||
|
|
||||||
with Diagram("Dwengo-1 architectuur", filename="docs/architecture/schema", show=False):
|
with Diagram("Dwengo-1 architectuur", filename="docs/architecture/schema", show=False):
|
||||||
reverse_proxy = Nginx("reverse proxy")
|
ingress = Nginx("Reverse Proxy")
|
||||||
reverse_proxy >> LetsEncrypt("SSL")
|
certificates = LetsEncrypt("SSL")
|
||||||
|
|
||||||
with Cluster("Docker"):
|
with Cluster("Dwengo VZW"):
|
||||||
Docker()
|
|
||||||
|
|
||||||
frontend = Vue("/")
|
|
||||||
backend = Nodejs("/api")
|
|
||||||
reverse_proxy >> frontend
|
|
||||||
frontend >> backend >> InputOutput("MikroORM") >> PostgreSQL()
|
|
||||||
|
|
||||||
backend >> Loki("logging") >> Grafana("monitoring")
|
|
||||||
|
|
||||||
with Cluster("Dwengo"):
|
|
||||||
dwengo = Custom("Dwengo", "../../assets/img/dwengo-groen-zwart.png")
|
dwengo = Custom("Dwengo", "../../assets/img/dwengo-groen-zwart.png")
|
||||||
|
|
||||||
backend >> dwengo
|
with Cluster("Dwengo-1"):
|
||||||
|
frontend = Vue("/")
|
||||||
|
backend = Nodejs("/api")
|
||||||
|
identity_provider = Custom("IDP", "../../assets/img/keycloak.png")
|
||||||
|
|
||||||
|
database = PostgreSQL("Database")
|
||||||
|
orm = InputOutput("MikroORM")
|
||||||
|
orm >> Edge(label="map") << database
|
||||||
|
|
||||||
|
with Cluster("Observability"):
|
||||||
|
logging = Loki("Logging")
|
||||||
|
logging << Edge(color="firebrick", style="dashed") << Grafana("Monitoring")
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
dwengo,
|
||||||
|
logging,
|
||||||
|
orm
|
||||||
|
]
|
||||||
|
|
||||||
|
backend >> dependencies
|
||||||
|
|
||||||
|
service = [
|
||||||
|
frontend,
|
||||||
|
backend,
|
||||||
|
identity_provider,
|
||||||
|
certificates
|
||||||
|
]
|
||||||
|
|
||||||
|
ingress \
|
||||||
|
>> Edge(color="darkgreen") \
|
||||||
|
<< service
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue