BirthdayApp es una aplicación móvil para recordar cumpleaños desarrollada con React Native. Permite registrar, listar y gestionar cumpleaños de familiares y amigos. Los datos se almacenan en Firebase.
Estado: Versión BETA. Puede contener cambios no definitivos y pequeños errores mientras consolidamos la versión estable.
- React Native 0.70.6
- Firebase Web SDK
- @react-native-community/datetimepicker, react-native-modal-datetime-picker
- AsyncStorage, moment
- GitHub: diegoseg15
- LinkedIn: Diego Segovia
- Portafolio: portfolio-77060.web.app
- Node.js 16.x (recomendado: 16.20.x) y npm 8+
- Java 11
- Android SDK (Build-Tools y Platform 31+)
- Dispositivo o emulador Android configurado
git clone https://github.com/diegoseg15/birthdayapp.git
cd birthdayapp
npm installEn una terminal:
npm run startEn otra terminal:
npm run android"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
}cd android
./gradlew assembleDebugSalida: android/app/build/outputs/apk/debug/app-debug.apk
-
Genera un keystore:
cd android/app keytool -genkey -v -keystore my-release-key.jks -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 -
Configura credenciales en
~/.gradle/gradle.properties:MYAPP_UPLOAD_STORE_FILE=android/app/my-release-key.jks MYAPP_UPLOAD_KEY_ALIAS=my-key-alias MYAPP_UPLOAD_STORE_PASSWORD=******** MYAPP_UPLOAD_KEY_PASSWORD=******** -
En
android/app/build.gradle, definesigningConfigs.releasey úsalo enbuildTypes.release(puedes activarminifyEnabledyshrinkResources). -
Construye:
cd android ./gradlew clean ./gradlew assembleRelease
Salida: android/app/build/outputs/apk/release/app-release.apk
- ActionBar: navegación y acciones.
- AddBirthday: alta de cumpleaños.
- ListBirthday: listado y organización.
- LoginForm: inicio de sesión.
- RegisterForm: registro de usuario.
src/
components/
screens/
utils/
firebase.js
hooks/
- v1.x → versión React Native CLI (BETA).
- v2.x → migración a Expo (en rama/tag separado).
Ejemplo de etiquetado:
git tag -a v1.0.0 -m "Release (BETA): RN CLI v1.0.0"
git push origin v1.0.0- Crea una rama
feat/...ofix/.... - Asegura lint y tests.
- Abre un Pull Request hacia
main.
- Metro: si notas comportamiento extraño, reinicia con caché limpio
npm run start -- --reset-cache - Gradle/JDK: usa Java 11 para RN 0.70.x.
- Builds: limpia antes de reconstruir
cd android && ./gradlew clean
Distribuido bajo Apache License 2.0. Consulta LICENSE para más detalles.