Initial LinkedSign platform
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
# LinkedSign Android Native
|
||||
|
||||
Cliente Android nativo de LinkedSign construido con **Kotlin + Jetpack Compose**.
|
||||
|
||||
## Objetivo
|
||||
|
||||
- compartir autenticación con la web
|
||||
- consumir el mismo backend REST
|
||||
- mantener cache local en el teléfono
|
||||
- sincronizar datos solo cuando el usuario lo solicite
|
||||
|
||||
## Qué incluye
|
||||
|
||||
- login
|
||||
- registro
|
||||
- aviso de validación por correo
|
||||
- dashboard
|
||||
- documentos originales y firmados
|
||||
- subida de PDF
|
||||
- subida de certificados `.p12/.pfx`
|
||||
- firmado básico desde Android
|
||||
- perfil
|
||||
- solicitud de cambio de contraseña
|
||||
- sesión local segura
|
||||
- desbloqueo biométrico con huella si el dispositivo lo soporta
|
||||
- cache local SQLite
|
||||
- tipografía centralizada por variables en `ui/theme/Type.kt`
|
||||
- UI Android refactorizada siguiendo la referencia visual de `android_firma_electronica.html`
|
||||
|
||||
## Arquitectura usada
|
||||
|
||||
- Kotlin nativo
|
||||
- Jetpack Compose
|
||||
- Retrofit
|
||||
- OkHttp
|
||||
- Moshi
|
||||
- EncryptedSharedPreferences
|
||||
- SQLiteOpenHelper
|
||||
|
||||
## Estructura
|
||||
|
||||
```text
|
||||
android/
|
||||
app/
|
||||
build.gradle
|
||||
src/main/
|
||||
AndroidManifest.xml
|
||||
java/net/linkedcorp/linkedsign/
|
||||
res/values/
|
||||
build.gradle
|
||||
gradle.properties
|
||||
settings.gradle
|
||||
README.md
|
||||
```
|
||||
|
||||
## Backend
|
||||
|
||||
Por defecto la app apunta a:
|
||||
|
||||
```text
|
||||
http://192.168.222.72:4000
|
||||
```
|
||||
|
||||
Ese valor está en:
|
||||
|
||||
[app/build.gradle](/home/mgonzalez/desarrollo/react/linkedsign/android/app/build.gradle)
|
||||
|
||||
Si cambias IP o dominio, actualiza:
|
||||
|
||||
```groovy
|
||||
buildConfigField "String", "API_BASE_URL", "\"http://TU_HOST:4000\""
|
||||
```
|
||||
|
||||
## Abrir en Android Studio
|
||||
|
||||
1. Abre la carpeta:
|
||||
`/home/mgonzalez/desarrollo/react/linkedsign/android`
|
||||
2. Deja que Android Studio sincronice Gradle
|
||||
3. Configura el SDK si hace falta
|
||||
4. Ejecuta en emulador o dispositivo físico
|
||||
|
||||
## APK generado
|
||||
|
||||
Se generó un build debug en:
|
||||
|
||||
[`android/apk/LinkedSign-debug.apk`](/home/mgonzalez/desarrollo/react/linkedsign/android/apk/LinkedSign-debug.apk)
|
||||
|
||||
Comando usado:
|
||||
|
||||
```bash
|
||||
source /etc/profile.d/android-sdk.sh
|
||||
cd /home/mgonzalez/desarrollo/react/linkedsign/android
|
||||
GRADLE_USER_HOME=/home/mgonzalez/desarrollo/react/linkedsign/android/.gradle-home ./gradlew assembleDebug
|
||||
```
|
||||
|
||||
## Notas
|
||||
|
||||
- `android_react/` conserva la versión anterior hecha con Expo/React Native.
|
||||
- `android/` es ahora la base nativa instalable.
|
||||
- La app Android y la web se complementan: misma cuenta, mismo backend, cache local y sincronización manual.
|
||||
- El enlace de validación por correo sigue siendo servido por el frontend web actual.
|
||||
- La referencia visual principal usada para el rediseño móvil está en [`android_firma_electronica.html`](/home/mgonzalez/desarrollo/react/linkedsign/android_firma_electronica.html).
|
||||
Reference in New Issue
Block a user