From 94ea2770722b168011dd5e91905d2e8cf51fd833 Mon Sep 17 00:00:00 2001 From: Lars <29163322+Drumber@users.noreply.github.com> Date: Wed, 29 May 2024 17:29:49 +0200 Subject: [PATCH] DC-#0: Update getting started guide in READMEs --- README.md | 5 +++++ backend/.gitignore | 1 + backend/README.md | 18 ++++++++++++++++-- backend/example.env | 2 ++ frontend/README.md | 24 ++++++++++++++++++------ 5 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 backend/example.env diff --git a/README.md b/README.md index d9a57c0..3d2d386 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,8 @@ Die folgenden Widgets stehen derzeit zur Verfügung: - ➥ [💬 Statusreports](https://github.com/SE-TINF22B2/G4-Get2Gether/discussions/categories/statusreports) (Hier sind alle Statusreports hinterlegt) - ➥ [📑 Guidelines](https://github.com/SE-TINF22B2/G4-Get2Gether/discussions/categories/guideline) (Guiedlines die befolgt werden, um ein einheitliches Arbeiten am Projekt zu ermöglichen) - ➥ [💻 Entwicklungsboard](https://github.com/orgs/SE-TINF22B2/projects/9) (Hier sind die aktuellen Aufgaben gruppiert nach deren Status) + +## Development: Getting Started +- ➥ [🍃 Backend](./backend/README.md) (Getting Started Backend) +- ➥ [🅰️ Frontend](./frontend/README.md) (Getting Started Frontend) +- ➥ [📖 Technische Dokumentation](https://github.com/SE-TINF22B2/G4-Get2Gether/wiki/Technische-Dokumentation) (Detaillierte Dokumentation im Wiki) diff --git a/backend/.gitignore b/backend/.gitignore index e44986e..eebd405 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -38,3 +38,4 @@ out/ ### secrets ### *.env +!example.env diff --git a/backend/README.md b/backend/README.md index 56bcd55..3524744 100644 --- a/backend/README.md +++ b/backend/README.md @@ -5,15 +5,29 @@ In diesem Verzeichnis befindet sich das Spring Boot Backend von Get2Gether. > 📖 [Hier geht's zur technischen Dokumentation des Backends.](https://github.com/SE-TINF22B2/G4-Get2Gether/wiki/Backend-Dokumentation) ## Getting Started -_Empfehlung des Hauses:_ Das Projekt kann direkt als Monorepo in Intellij importiert werden. +_Empfehlung:_ Das Projekt kann direkt als Monorepo in Intellij importiert werden. Intellij sollte dann alle gradle Module und Run Configurations automatisch importieren. +### Voraussetzungen +- Java 17 (oder höher) installiert +- Docker +- Google OAuth API Token (mehr Informationen im Abschnitt [Secrets und Umgebungsvariablen](#secrets-und-umgebungsvariablen)) + +### Secrets und Umgebungsvariablen +Die vom Backend benötigten Secrets werden als Umgebungsvariablen eingebunden. +Dazu muss die `example.env` Datei zu `.env` kopiert werden. Die `.env` Datei ist vom git-Repository ausgenommen und sollte nicht committet werden. + +Um die Umgebungsvariablen zur Laufzeit verfügbar zu machen, kann die `.env` Datei in der IntelliJ Run Configuration im Feld 'Environment variables' eingebunden werden. + +Falls noch keine `GOOGLE_CLIENT_ID` und `GOOGLE_CLIENT_SECRET` vorhanden sind, muss in der Google Cloud Console eine neue OAuth2 Anwendung registriert werden. +Mehr Informationen dazu können hier gefunden werden: [Setting up OAuth 2.0](https://support.google.com/cloud/answer/6158849) + ### Backend starten Damit das Spring Backend gestartet werden kann, müssen folgende Voraussetzungen erfüllt sein. Voraussetzungen: - Verbindung zur MongoDB kann hergestellt werden. Eine Docker Compose Datei zum Starten einer lokalen MongoDB findet sich in [./mongoDB.yml](./mongoDB.yml). -- Secrets für die Google OAuth Authentifizierung sind vorhanden (siehe [application.properties](./src/main/resources/application.properties)). +- Secrets für die Google OAuth2 Authentifizierung sind vorhanden. Die Main-Klasse [BackendApplication](./src/main/java/com/dhbw/get2gether/backend/BackendApplication.java) kann mittels der entsprechenden IntelliJ Run Configuration gestartet werden oder über den gradle task: diff --git a/backend/example.env b/backend/example.env new file mode 100644 index 0000000..f6c40c6 --- /dev/null +++ b/backend/example.env @@ -0,0 +1,2 @@ +GOOGLE_CLIENT_ID= +GOOGLE_CLIENT_SECRET= diff --git a/frontend/README.md b/frontend/README.md index 9bf2ef3..eaac969 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -5,27 +5,39 @@ This project was generated with [Angular CLI](https://github.com/angular/angular > [!TIP] > 📖 [Hier geht's zur technischen Dokumentation des Frontends.](https://github.com/SE-TINF22B2/G4-Get2Gether/wiki/Frontend-Dokumentation) -## Development server +## Getting Started +Voraussetzung: +- NodeJS mit dem Node Package Manager (npm) ist installiert +- Angular CLI ist installiert (`npm install -g @angular/cli`) + +Bevor die Anwendung zum ersten Mal gestartet werden kann, müssen alle Dependencies installiert werden: +```bash +npm install +``` + +Danach kann die Anwendung lokal mit `ng serve` gestartet werden. + +### Development server Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. -## Code scaffolding +### Code scaffolding Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. -## Build +### Build Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. -## Running unit tests +### Running unit tests Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). -## Running end-to-end tests +### Running end-to-end tests Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. -## Further help +### Further help To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.