Update home authored by Lars Florian Meiendresch's avatar Lars Florian Meiendresch
...@@ -36,11 +36,11 @@ This guide will walk you through creating your first interactive tour on 19squar ...@@ -36,11 +36,11 @@ This guide will walk you through creating your first interactive tour on 19squar
**Congratulations!** You've created your first tour on 19squared. Explore the platform's other features to enhance your tours with additional images, interactive elements, and more. **Congratulations!** You've created your first tour on 19squared. Explore the platform's other features to enhance your tours with additional images, interactive elements, and more.
# Developer Guide # Contribution Guidelines
The developer guide is a comprehensive resource for developers who want to contribute to the 19squared project. To get started as a developer, refer to the project's [CONTRIBUTING](https://git.rwth-aachen.de/medialab/interactive360vr/-/blob/main/CONTRIBUTING.md) file. It provides a detailed guide on how to contribute code, report issues, and follow best practices.
## Code Structure # Code Structure
``` ```
🌱 interactive360vr 🌱 interactive360vr
...@@ -57,7 +57,7 @@ The developer guide is a comprehensive resource for developers who want to contr ...@@ -57,7 +57,7 @@ The developer guide is a comprehensive resource for developers who want to contr
└── 🔧 .env.template └── 🔧 .env.template
``` ```
## Production Server # Production Server
After running `docker compose up -d`, the server is now running the following containers by default: After running `docker compose up -d`, the server is now running the following containers by default:
...@@ -68,7 +68,7 @@ After running `docker compose up -d`, the server is now running the following co ...@@ -68,7 +68,7 @@ After running `docker compose up -d`, the server is now running the following co
| `19sq-mariadb` | mariadb Database | `3306` | | `19sq-mariadb` | mariadb Database | `3306` |
| `19sq-ladsh` | Learning Analytics Dashboard | `2000` | | `19sq-ladsh` | Learning Analytics Dashboard | `2000` |
### Routing Traffic ## Routing Traffic
🔄 Reverse Proxy `80/443` >> 🖥️ 19sq-nginx `5001` >> 🐍 19sq-flask `8080` >> 💾 19sq-mariadb `3306` 🔄 Reverse Proxy `80/443` >> 🖥️ 19sq-nginx `5001` >> 🐍 19sq-flask `8080` >> 💾 19sq-mariadb `3306`
...@@ -79,26 +79,26 @@ To make your application accessible, you'll want to route external traffic to th ...@@ -79,26 +79,26 @@ To make your application accessible, you'll want to route external traffic to th
* **Adding SSL certificates:** Secure the application with free Let's Encrypt certificates. * **Adding SSL certificates:** Secure the application with free Let's Encrypt certificates.
* **Managing multiple applications:** Centralize configuration for multiple containerized services. * **Managing multiple applications:** Centralize configuration for multiple containerized services.
### Development Server # Development Server
For details about the development server, please refer to the project's [README](https://git.rwth-aachen.de/medialab/interactive360vr/-/blob/main/README.md) file. For details about the development server, please refer to the project's [README](https://git.rwth-aachen.de/medialab/interactive360vr/-/blob/main/README.md) file.
## Garbage Collector # Garbage Collector
The asset management system includes a garbage collector, accessible via the endpoint `/garbage_collector`. This mechanism is designed to reclaim storage capacity by periodically purging unreferenced assets. Integrating the garbage collector into a routine cron job schedule can optimise server storage utilisation. The asset management system includes a garbage collector, accessible via the endpoint `/garbage_collector`. This mechanism is designed to reclaim storage capacity by periodically purging unreferenced assets. Integrating the garbage collector into a routine cron job schedule can optimise server storage utilisation.
## Authentication via Third-Party Services # Authentication via Third-Party Services
This section explains how to generate client IDs and client secrets for Google, GitLab, and GitHub to enable user authentication within your application. This project utilises OAuth and Authlib to facilitate secure authentication through these popular third-party services. This section explains how to generate client IDs and client secrets for Google, GitLab, and GitHub to enable user authentication within your application. This project utilises OAuth and Authlib to facilitate secure authentication through these popular third-party services.
### OAuth and Authlib ## OAuth and Authlib
* **OAuth:** An open standard for authorization that allows users to grant third-party applications access to their protected resources without sharing their credentials. * **OAuth:** An open standard for authorization that allows users to grant third-party applications access to their protected resources without sharing their credentials.
* **Authlib:** A Python library that simplifies the implementation of OAuth and OpenID Connect providers and clients. * **Authlib:** A Python library that simplifies the implementation of OAuth and OpenID Connect providers and clients.
### Generating Client IDs and Client Secrets ## Generating Client IDs and Client Secrets
#### Google ### Google
1. **Create a Project:** 1. **Create a Project:**
* Go to the [Google Cloud Console](https://console.cloud.google.com/). * Go to the [Google Cloud Console](https://console.cloud.google.com/).
...@@ -125,7 +125,7 @@ This section explains how to generate client IDs and client secrets for Google, ...@@ -125,7 +125,7 @@ This section explains how to generate client IDs and client secrets for Google,
GOOGLE_CLIENT_SECRET=your_client_secret GOOGLE_CLIENT_SECRET=your_client_secret
``` ```
#### GitLab ### GitLab
1. **Create an Application:** 1. **Create an Application:**
* Go to your GitLab project or group settings. * Go to your GitLab project or group settings.
...@@ -146,7 +146,7 @@ This section explains how to generate client IDs and client secrets for Google, ...@@ -146,7 +146,7 @@ This section explains how to generate client IDs and client secrets for Google,
GITLAB_CLIENT_SECRET=your_secret GITLAB_CLIENT_SECRET=your_secret
``` ```
#### GitHub ### GitHub
1. **Create an OAuth App:** 1. **Create an OAuth App:**
* Go to your GitHub account settings. * Go to your GitHub account settings.
...@@ -167,7 +167,7 @@ This section explains how to generate client IDs and client secrets for Google, ...@@ -167,7 +167,7 @@ This section explains how to generate client IDs and client secrets for Google,
GITHUB_CLIENT_SECRET=your_client_secret GITHUB_CLIENT_SECRET=your_client_secret
``` ```
### Enabling Authentication ## Enabling Authentication
Once you have obtained the client IDs and client secrets, enable the desired authentication methods in your `.env` file by setting the corresponding values to `1`: Once you have obtained the client IDs and client secrets, enable the desired authentication methods in your `.env` file by setting the corresponding values to `1`:
...@@ -179,15 +179,11 @@ AUTH_GITHUB=1 ...@@ -179,15 +179,11 @@ AUTH_GITHUB=1
**Remember:** Keep your client secrets confidential and never expose them in client-side code or public repositories. **Remember:** Keep your client secrets confidential and never expose them in client-side code or public repositories.
## Cloudflare # Cloudflare
### DNS
### CDN ## DNS
### Tunnels ## CDN
## Tunnels
## Contribution Guidelines
To get started as a developer, refer to the project's [CONTRIBUTING](https://git.rwth-aachen.de/medialab/interactive360vr/-/blob/main/CONTRIBUTING.md) file. It provides a detailed guide on how to contribute code, report issues, and follow best practices.