

**Build platform android.**

Create for production

```
ionic capacitor build android --prod
npx cap copy android
```

**Agregar nueva huella navitrack SHA-1**
keytool -genkey -v -keystore navitrack-release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias navitrack

Luego obtienes el SHA1:
keytool -list -v -keystore navitrack-release.jks -alias navitrack

**Agregar huella SHA-1**

Agregar el SHA-1 del certificado con el que firmas la app.

keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android


# NaviTrack Backend API

## Configuración

### 1. Base de Datos
1. Crear la base de datos ejecutando el archivo `database/tracking.sql`
2. Configurar las credenciales en `config/database.php`

### 2. Servidor Web
- Colocar los archivos en el directorio web del servidor (htdocs, www, etc.)
- Asegurar que mod_rewrite esté habilitado para Apache

### 3. Endpoints

#### POST /api/tracking
Guardar nueva ubicación de tracking

**Request Body:**
```json
{
  "lat": 4.751782,
  "lng": -74.056003,
  "timestamp": 1776653779226
}
```

**Response:**
```json
{
  "message": "Location tracking saved successfully",
  "data": {
    "status": "created", // o "updated"
    "id": 123
  }
}
```

#### GET /api/tracking
Obtener ubicaciones recientes

**Query Parameters:**
- `limit`: Número máximo de ubicaciones (default: 100)

**Response:**
```json
{
  "message": "Locations retrieved successfully",
  "data": [...],
  "count": 50
}
```

## Lógica de Optimización

El sistema optimiza el almacenamiento detectando ubicaciones similares:
- Si una nueva ubicación está dentro de ~10 metros de una ubicación reciente (últimos 30 segundos)
- En lugar de crear un nuevo registro, actualiza el existente incrementando:
  - `duration_seconds`: tiempo total en esa ubicación
  - `iterations`: número de veces que se reportó la misma ubicación

Esto reduce significativamente el número de registros en la base de datos para ubicaciones estáticas.

