@@ -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.
# 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
...
...
@@ -57,7 +57,7 @@ The developer guide is a comprehensive resource for developers who want to contr
└── 🔧 .env.template
```
## Production Server
# Production Server
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
@@ -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.
***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.
## 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.
## 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.
### 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.
***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:**
* 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,
GOOGLE_CLIENT_SECRET=your_client_secret
```
#### GitLab
### GitLab
1.**Create an Application:**
* 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,
GITLAB_CLIENT_SECRET=your_secret
```
#### GitHub
### GitHub
1.**Create an OAuth App:**
* Go to your GitHub account settings.
...
...
@@ -167,7 +167,7 @@ This section explains how to generate client IDs and client secrets for Google,
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`:
...
...
@@ -179,15 +179,11 @@ AUTH_GITHUB=1
**Remember:** Keep your client secrets confidential and never expose them in client-side code or public repositories.
## Cloudflare
### DNS
# Cloudflare
### 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.