 # 🪂FLYLOG
 #  CONECTARSE

Al hacer clic en "Connect", se abre un  modal con botones  para "Restaurar billetera" o "Crear billetera".
Este sistema utiliza un sistema de manejo de llaves /billetera autocustodial BIP39. Basicamente consiste en una frase mnemonica de 12 palabras que debes guardar y que te permitira acceder a todo lo que esta custodia como el diario de vuelo(logs), historial, brevet, rutas , etc
Sin kyc,  numero de telefonono, ni biometria.


# 🪪 BREVET DID
Flylog usa un SSDId(self sovereign decentraliced Identifier) a traves de ceramic network para gestionar el brevet/DID del piloto.
Este sistema maneja credenciales de manera autocustodial (BIP39).
Los datos calientes se almacenan en orbisDB de ceramic network.
Este sistema permite attestationes, las cuales a su vez permiten sostener una creencial tipo brevet por una comunidad de pilotos locales.

## FUNCIONES DEL SMART CONTRACT
Cada club/grupo de pilotos gestiona su propio contrato.
El contrat de prueba esta desplegado en la testnet de flare coston2 en la addrress:
0x650C744D281ADeCC7808B7f0D377c07240e13a85

Coston2
Chain ID: 114
Explorer: https://coston2.testnet.flarescan.com/ | https://coston2-explorer.flare.network/
Public RPC: https://coston2-api.flare.network/ext/C/rpc
Faucet: https://faucet.flare.network/coston2
Asset Ticker: C2FLR



### Atester
es el rol dado a cada integrante del club, sea o no piloto aun. Tiene capacidad de permitir a nuevos pilotos mintear su registro de pefil en la blockchain

### 


#  MODO INICIAL (PRONOSTICO)

##  Mapa del campo en tiempo real
El modo inicial muestra el estado actual del campo asociado al  club de vuelo que tengas en tus preferencias.
Este muestra, un mapa con la direccion y velocidad  del viento segun los datos de la estacion meteorologia configurada para este lugar.

##  Grafico con pronostico meteorologico para los proximos 7 dias

Debajo tenemos un grafico con el pronostico meteorologico para los proximos 7 dias, indicando viento, ragagas, precipitaciones y direccion del viento.
El grafico solo muestra los dias en sus franjas de vuelo diurno.
A la derecha (o abajo en pantallas mobiles) tenemos un resumen de los dias volables.


##  Resumen de los  dias volablespara los proximos 7 dias
Este panel indica a traves de un icono las condiciones previstas para cada dia.
El significado de cada dia es el siguiente: 

- ✅ : Dia Volable. El viento esta por debajo de los 20km/h y las rafagas nos superan los 25km/h se indica como 
- 🌧️: Dia con lluvia...
- 🟡: el viento supera los 20km/h
- 🟠: el viento supera los 25km/h
- 🔴: el viento supera los 30km/h
- 💀: el viento supera los 45 km/h


# 🛫 MODO "FLY"
El modo fly permite hacer un seguimiento del vuelo en tiempo real. 
En vuelo, muestra informacion sobre la velocidad respecto tierra, altura, trafico aereo, trafico flylog (pilotos logeados) y direcion de viento.
Al final del vuelo ofrece un resumen del vuelo con la altura, duracion, velocidad promedio y maxima.

<!-- https://flylog.fun/fly -->
## Detección de Despegue y Altura Relativa
 Al iniciar un vuelo, la aplicación ahora captura la altitud inicial. Todos los datos de altitud posteriores se usan para calcular si el piloto está subiendo o bajando con respecto a ese punto de partida.

## Temporizador de Aterrizaje Automático:

Una vez que el piloto ha despegado (subiendo al menos 5 metros), la app empieza a monitorear el regreso a la altitud inicial.

Si el piloto vuelve a la altitud de despegue (con un margen de 2 metros) y permanece quieto por 5 segundos, el sistema asume que el vuelo ha terminado.

## Finalización Automática del Vuelo 
Cuando se cumple la condición de aterrizaje, el vuelo se detiene automáticamente y aparece la ventana de resumen, invitando a registrar el vuelo.

## Detección de "Touch and Go"
Si el piloto vuelve a ascender antes de que se cumplan los 5 segundos en tierra, la app lo interpreta como un "touch and go", cancela el temporizador de aterrizaje y sigue registrando el vuelo.

Resumen de Vuelo Actualizado: El número de maniobras "touch and go" se cuenta y se añade al resumen final del vuelo.

Aquí tienes el código actualizado con la nueva lógica.

## 🗺️📌 Programar ruta
Esta opcion permite planificar un recorrido y compartirlo a traves de un link
por ejemplo
https://flylog.fun/?trip=LTM0Ljc1MTIxLC01OC4xODM1MjstMzQuNzQ5MjMsLTU4LjE0Mjc0Oy0zNC43NjQ0NiwtNTguMDg0NzI7LTM0Ljc4MTY2LC01OC4wMTgxMTstMzQuNzkzMjIsLTU3Ljk5NTQ1Oy0zNC44MTIxMSwtNTcuOTc1NTQ7LTM0LjgyOTEzLC01Ny45NTM0OA%3D%3D

https://flylog.fun/?trip=LTM0Ljc1MDg3LC01OC4xODA4OTstMzQuNzQ1MDcsLTU4LjE3NTQ2Oy0zNC43MzU2MCwtNTguMTk1NTk7LTM0LjcyMzc4LC01OC4yMDY2MjstMzQuNzEwMTUsLTU4LjIyMTg3Oy0zNC43MDU0OSwtNTguMjMwMTg7LTM0LjY5NTk3LC01OC4yNDU5NTstMzQuNzI2OTQsLTU4LjE5OTM5Oy0zNC43Mzk3OCwtNTguMTg2NTE7LTM0Ljc0Njk3LC01OC4xNjkxNzstMzQuNzQ5NjUsLTU4LjE1ODg3Oy0zNC43NTY4NSwtNTguMTY4ODM7LTM0Ljc1MzE4LC01OC4xNzk2NQ%3D%3D


https://flylog.fun/?trip=LTM0Ljc1MTAzLC01OC4xODIyMjstMzQuNzgwODIsLTU4LjE0ODU3Oy0zNC44MzY5MSwtNTguMTcyMjY7LTM0LjkwMTcwLC01OC4xNzA1NTstMzQuOTU1NDYsLTU4LjEwNTY2Oy0zNC45OTE4OSwtNTguMTIxMTk%3D


## 📍 Compartir Sitio Personalizado (Share Site)
En el panel lateral, justo arriba de la selección de "Zona", existe una opción "SHARE 🔗". Al hacer clic, copiará en tu portapapeles una URL de la aplicación con tu sitio de vuelo actual (incluyendo sus coordenadas `lat` y `lon` y su nombre `name`).

Un ejemplo para compartir un sitio en Colonia de Sacramento (Uruguay) se vería así:
https://flylog.fun/?lat=-34.4714&lon=-57.8442&name=Colonia

Si el usuario que abre el enlace no tiene guardado el sitio compartido previamente, la aplicación centrará el mapa allí e informará al usuario mediante una notificación temporal con la opción `"Save Site"`, permitiendo que lo agregue directamente a sus zonas de vuelo locales de forma permanente sin esfuerzo.

## 🛩 Deteccion y alertas de trafico aereo
La dapp incluye informacion sobre el trafico aereo en la zona de vuelo local

Cuando estás en vuelo y otro avión se encuentra dentro del radio de alerta de 5 km, todo el borde de la pantalla ahora brillará amarillo. Un círculo de proximidad de 5 km alrededor de cada aeronave se iluminará para darle una indicación visual clara de qué avión está causando la alerta.







# 🪶 MODO "LOG"
Esta funcion esta pensada para llevar un registro privado de sus vuelos. Por defecto estan encriptado por las claves privadas de cada usuario, permitiendo tambien compartir con otros usuarios o grupos.
https://flylog.fun/log




# EXTRAS

## Para calcular la altura, 
El GPS utiliza un modelo matemático de la Tierra (elipsoide WGS84) que es una forma "perfecta" y suave. Pero la Tierra tiene montañas y valles irregulares. La diferencia entre la "altura GPS" y la "altura real sobre el nivel del mar" puede variar mucho según la zona.

Uso: Sirve para calibrar el barómetro automáticamente (fusión de sensores)


## ☁️ Calcular la base de las nubes?


La diferencia entre la **temperatura ambiente** y el **punto de rocío** permite estimar la **altura de formación de las nubes** (☁️ cúmulos), es decir, la **base de las térmicas**.


Esta altitud indica hasta dónde puede ascender una térmica (columna de aire caliente).
Una vez que conocés:

- La **temperatura del aire** (`T`, en °C)
- El **punto de rocío** (`T_rocío`, en °C)

Podés estimar la **altura de la base de los cúmulos** con la siguiente fórmula empírica:


> **Cada grado de diferencia entre la temperatura y el punto de rocío eleva la base de las nubes aproximadamente 125 metros.**


### ✈️ ¿Para qué sirve en vuelo libre?

- Saber si el día será **con cúmulos** o un **día azul (blue day)**  
- Estimar si las térmicas **llegan a formar nubes**  
- Calcular la **altura máxima de vuelo sin motor**  
- Detectar si hay **inversión térmica** que frene el desarrollo vertical


### ✅ Interpretación de la diferencia (Temperatura − Punto de rocío)

Una **mayor diferencia** entre temperatura y punto de rocío suele indicar **térmicas más secas y potentes**.

Una **diferencia pequeña** (por ejemplo, menos de 3 °C) puede significar:

- Mayor probabilidad de **nubosidad baja o niebla**
- Condiciones **menos térmicas**, más **estables** o incluso **peligrosas** (visibilidad reducida)


| Diferencia °C (T - Td) | Qué significa para el Paramotor | Condición de vuelo |
| **0 – 2 °C** | Niebla o nubes muy bajas, alta humedad. | 🚫 **Malo** (poca visibilidad, riesgo de hielo en carburador). |
| **3 – 6 °C** | Posibles nubes bajas, aire húmedo. Térmicas débiles o nulas. | ✅ **Bueno / Excelente** (vuelo suave, ideal para principiantes y travesías tranquilas). |
| **7 – 12 °C** | Buen desarrollo de térmicas y cúmulos. | ⚠️ **Cautela** (posible turbulencia, especialmente en horas centrales del día). |
| **> 13 °C** | Aire seco, base alta, térmicas potentes y turbulentas. | 🚫 **Malo / Solo Expertos** (condiciones muy turbulentas, vuelo muy exigente). |




## ✏️ Fórmula para calcular la altura de la base de las nubes
> bN = (T - T_rocío) x 125

Donde: 
- bN = Altura de la base de las nubes (en metros)
- T= Temperatura en °C 
- T_rocío = Punto de rocío


> 📏 ¿Por qué 125?
>
> El valor **125** es una **estimación práctica** basada en la **tasa de enfriamiento adiabático seco**:  
>
> El aire seco se enfría aproximadamente **1 °C cada 100 metros** al ascender.
>
> Sin embargo, cerca del punto de condensación el aire ya no es seco, y la condensación **libera calor**, modificando la tasa de enfriamiento.


### 🧪 Ejemplo práctico

Supongamos:

- Temperatura: `28 °C`  
- Punto de rocío: `16.9 °C`

Cálculo:


> ✅ **Resultado**: La base estimada de las nubes es de **1387 metros sobre el nivel del suelo (AGL)**.



## ✏️📐 Fórmula  para calcular el punto de rocío

###  🌡️💧 Punto de rocío

El **punto de rocío** es la temperatura a la cual el vapor de agua en el aire comienza a **condensarse** (formar gotas de agua), al enfriarse sin cambiar la presión. Es un valor clave en meteorología, climatización y agricultura.

Una forma precisa de calcularlo es mediante la **fórmula de Magnus-Tetens**:


> `γ = (a × T) / (b + T) + ln(RH / 100)`

donde:
- `T_rocío`: punto de rocío en °C  
- `T`: temperatura del aire en °C  
- `RH`: humedad relativa en % (entre 0 y 100)  
- `a = 17.62`  
- `b = 243.12`  
- La función `𝛾` es solo un paso intermedio de cálculo.

> Las constantes **a = 17.62** y **b = 243.12** en la fórmula de Magnus-Tetens son valores empíricos, es decir, provienen de "ajustes experimentales" para que la fórmula funcione bien en la práctica.

> La fórmula básica fue propuesta por Heinrich Gustav Magnus en 1844, basado en observaciones de cómo el vapor de agua se satura en el aire a diferentes temperaturas. Luego, en 1930, O. Tetens la refinó con valores similares. Los números exactos como 17.62 y 243.12 son versiones modernas (de los años 90, como las de Alduchov y Eskridge)

> La relación entre temperatura y presión de vapor es exponencial: la cantidad de vapor que el aire puede sostener crece de forma acelerada (exponencial) con la temperatura. Para calcular el punto de rocío hay que "deshacer" esa exponencial, y matemáticamente ( el inverso de una exponencial es un logaritmo).


### 🧪 Ejemplo práctico

Supongamos:

- Temperatura del aire: `30 °C`  
- Humedad relativa: `70 %`

1. Primero calculamos `γ`:

`γ = (a * T) / (b + T) + Math.log(RH / 100);`

2. Ahora usamos `γ` para calcular el punto de rocío:

 `T_rocío = (b * γ) / (a - γ)`


### ✅ Resultado

El punto de rocío es de **23.9 °C**
> Si el aire se enfría por debajo de esta temperatura, comienza la condensación (rocío, niebla, etc).


### 🧑‍💻 Calcularlo automáticamente?

Podés usar este pequeño script en JavaScript:

```
javascript
function calcularPuntoRocio(T, RH) {
  const a = 17.62;
  const b = 243.12;
  const gamma = (a * T) / (b + T) + Math.log(RH / 100);
  return (b * gamma) / (a - gamma);
}

// Ejemplo:
console.log(calcularPuntoRocio(30, 70).toFixed(2)); // → 23.90

```





 



## 🔮 PRONOSTICO
Muestra un resumen detallado de los proximos 7 dias para  estimar la "volabilidad" 🦆.
Cada dia muestra un icono indicando el resumen para ese dia.
<!-- https://flylog.fun/pronostico -->


##  🐤Cuando volamos?
UN resumen meteorologico de los datos mas relevantes para estimar los dias volables durante los proximos 7 dias.
🦅🦆🦉
https://flylog.fun/cuandovolamos


## 🏖️ Hay playa?
Esta funcion es para deducir si hay suficiente costa. En la zona de nuestro campo de vuelo es de 0.5m. Si el coe
https://flylog.fun/hayplaya


# VENTAJAS DE FLYLOG

## 🧭 Toma de decisiones antes del vuelo
Conocer toda esta informacion ayuda a decidir si el día es apto para volar.


## 🛑 Seguridad
Datos como el trafico aereo o el seguimiento de nuestros companeros piltos  puede ayudar a predecir esas situaciones peligrosas.



# FAQ
## 🔐Como funciona la encryptacion en flylog
Los estan automaticamente encriptads a traves de AES usando asymmetric-protected symmetric key exchange seguida de encryptacion autenticada:
- Primero se crea aleatoreamente una llave maestra AES para encriptar el log, y luego se utiliza la clave publica del recipient para  encriptar (wrappear) la llave que desencripta el flylog.



## Estructura de DID de log de vuelo
- privateLog: el log encriptado
- publicLog: el log sin encryptacion
- isPrivate: bool true or false
- date: la fecha
- accessControl: las addresses que tienen permiso, seguidas por las claves de encryptacion segun su clave publica
- iv: la clave de encryptacion sin encryptar(cuando se hace publico basicamente se revela la clave de encriptacion.)

## Estructura de DID del piloto
- avatar(*): La foto/avatar del piloto
- email(*): email del piloto
- address(*): La direccion crypto del piloto
- pseydonim(*): El apodo publico del piloto
- nameFull(*): El nombre publico del piloto
- wingSize(*): Tamano del ala del piloto
- birthDate(*): Fecha de nacimiento del piloto
- motorModel(*): Motor del piloto
- clubMembership(*): La autorizacion/ estado DAO del piloto
- contactEmergency(*): Este dato puede ser facilmente accedido por otros pilotos en caso de incidente.



(*) opcional

# Agregando API de tu estacion meteo
## Formato JSON Recomendado
Este es el formato ideal que la aplicación espera recibir. Los valores numéricos no deben ir entre comillas.

JSON
```
{
  "wind": 15.5,
  "wind_gust": 25.0,
  "wind_direction": 270,
  "humidity": 65,
  "temperature": 22.5,
  "timestamp": "2025-08-18T23:45:00Z"
}
```

> timestamp (obligatorio): La fecha y hora en que se tomó la medición, en formato ISO 8601. Esto es fundamental para saber si los datos son actuales.


## Descripción de los Campos
wind (obligatorio): La velocidad actual del viento en km/h.

wind_direction (obligatorio): La dirección de donde proviene el viento, en grados (0-360, donde 0 es Norte).

wind_gust (opcional): La ráfaga de viento máxima registrada en el último período, en km/h. Si no está disponible, la brújula no mostrará esta información.

humidity (opcional): La humedad relativa, en porcentaje (ej: 65 para 65%).

temperature (opcional): La temperatura actual en grados Celsius.

## Ejemplo Mínimo Válido
Si tu dispositivo solo puede medir la velocidad y dirección del viento, una respuesta como la siguiente también es perfectamente válida:

JSON
```
{
  "wind": 12.0,
  "wind_direction": 180
}
La aplicación detectará qué campos están presentes y actualizará la interfaz correspondientemente.
```




# ENTENDIENDO LOS MAPAS
https://www.youtube.com/watch?v=BuSjs45TL1E
https://skyvector.com/

##  organismos y empresas clave en cartografía, navegación, geolocalización y datos geoespaciales

### ESRI (Environmental Systems Research Institute)

Qué es: Empresa privada estadounidense.

Rol: Líder mundial en Sistemas de Información Geográfica (GIS).

Para qué sirve: Crear, analizar y visualizar mapas y datos espaciales.

Producto principal: ArcGIS.

Uso típico: Urbanismo, catastro, medio ambiente, logística, planificación territorial.

### Garmin

Qué es: Empresa privada de tecnología.

Rol: Fabricante de dispositivos de navegación por GPS.

Para qué sirve: Navegación terrestre, marítima, aérea y actividades deportivas.

Uso típico: Aviación ligera, náutica, senderismo, relojes deportivos, automóviles.

### FAA (Federal Aviation Administration)

Qué es: Agencia gubernamental de EE. UU.

Rol: Regulador de la aviación civil.

Para qué sirve: Seguridad aérea, control del espacio aéreo, certificaciones.

Produce: Cartas aeronáuticas, procedimientos de vuelo, normas.

Uso típico: Pilotos, aeropuertos, aerolíneas.

### NGA (National Geospatial-Intelligence Agency)

Qué es: Agencia de inteligencia del Departamento de Defensa de EE. UU.

Rol: Inteligencia geoespacial (GEOINT).

Para qué sirve: Mapas, datos y análisis geográficos para defensa y seguridad.

Produce: Cartografía oficial marítima y ciertos datos globales.

Uso típico: Militar, defensa, navegación marítima internacional.

### NOAA (National Oceanic and Atmospheric Administration)

Qué es: Agencia científica gubernamental de EE. UU.

Rol: Clima, océanos y atmósfera.

Para qué sirve: Pronóstico del tiempo, alertas climáticas, estudios oceánicos.

Produce: Cartas náuticas, datos meteorológicos y oceanográficos.

Uso típico: Navegación marítima, pesca, aviación, ciencia climática.

### Resumen rápido

ESRI: software GIS y análisis espacial

Garmin: dispositivos GPS y navegación

FAA: regulación y seguridad aérea

NGA: cartografía e inteligencia geoespacial

NOAA: clima, océanos y meteorología



---
#  DISPLAY
## GPS/ BAROMETRO
Si el teléfono es bueno (Pixel, Samsung S series, iPhone via Wrapper): Verás BARO en verde brillante al lado de la "m".

Si es un teléfono gama media sin sensor: Verás GPS en amarillo (indicando precaución, la altitud no es perfecta).

Si estás probando en PC sin sensores: Verás SIM en gris.

