102 lines
2.6 KiB
Markdown
102 lines
2.6 KiB
Markdown
# LinkedSign Android
|
|
|
|
Aplicación móvil Android de LinkedSign construida con Expo + React Native. Esta app complementa a la versión web y usa el mismo backend.
|
|
|
|
## Objetivo
|
|
|
|
- compartir autenticación con la app web
|
|
- guardar la sesión localmente en el teléfono
|
|
- mantener cache local para trabajo móvil
|
|
- sincronizar documentos, certificados y firmados solo cuando el usuario lo solicite
|
|
|
|
## Alcance actual
|
|
|
|
- login
|
|
- registro
|
|
- aviso de verificación por correo
|
|
- dashboard con estado de sincronización
|
|
- documentos originales y firmados
|
|
- subida de PDF original
|
|
- descarga y compartir documentos firmados
|
|
- certificados
|
|
- subida de `.p12` / `.pfx`
|
|
- firmado básico usando la configuración visual ya guardada por el usuario
|
|
- perfil y solicitud de cambio de contraseña
|
|
- base local SQLite para cache
|
|
|
|
## Cómo se complementa con la web
|
|
|
|
- la web sigue siendo el cliente principal para flujos avanzados
|
|
- Android usa el mismo usuario, misma contraseña y mismo backend
|
|
- la sesión se guarda en el teléfono con `expo-secure-store`
|
|
- los datos de negocio no se sincronizan solos: el usuario decide cuándo sincronizar
|
|
- el estilo visual de firma se toma del backend, por lo que si lo cambias en la web también se usa al firmar desde Android
|
|
|
|
## Estructura
|
|
|
|
```text
|
|
android/
|
|
App.js
|
|
app.json
|
|
package.json
|
|
src/
|
|
api/
|
|
components/
|
|
config/
|
|
context/
|
|
navigation/
|
|
screens/
|
|
storage/
|
|
theme/
|
|
utils/
|
|
```
|
|
|
|
## Configuración
|
|
|
|
La URL del backend se define en [app.json](/home/mgonzalez/desarrollo/react/linkedsign/android/app.json) y puede sobreescribirse con `EXPO_PUBLIC_API_BASE_URL`.
|
|
|
|
Valor actual:
|
|
|
|
```json
|
|
{
|
|
"expo": {
|
|
"extra": {
|
|
"apiBaseUrl": "http://192.168.222.40:4000"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Ejecutar
|
|
|
|
```bash
|
|
cd /home/mgonzalez/desarrollo/react/linkedsign/android
|
|
npm install
|
|
npm run start
|
|
```
|
|
|
|
Para compilar o abrir en Android:
|
|
|
|
```bash
|
|
npm run android
|
|
```
|
|
|
|
## Sincronización
|
|
|
|
La app guarda cache local en SQLite para:
|
|
|
|
- perfil
|
|
- documentos originales
|
|
- certificados
|
|
- documentos firmados
|
|
- fecha de última sincronización
|
|
|
|
La sincronización se ejecuta manualmente desde la app. Eso evita sobreescribir datos locales o consumir red sin que el usuario lo pida.
|
|
|
|
## Notas
|
|
|
|
- La confirmación de correo y el cambio de contraseña se validan contra el mismo backend de LinkedSign.
|
|
- La validación del enlace de correo puede abrirse en navegador si el enlace apunta al frontend web.
|
|
- Para una prueba real en dispositivo, el teléfono debe poder alcanzar la IP del backend.
|
|
- Este cliente no reemplaza la web; la complementa con acceso móvil, cache local y sincronización bajo demanda.
|