Huellitas

Huellitas - Aplicación Android

Logo Huellitas

Descripción

Huellitas es una plataforma integral Android que conecta dueños de mascotas con especialistas veterinarios verificados en México. Más que una simple app de búsqueda, Huellitas es una comunidad completa que combina servicios profesionales, interacción social y gestión integral del cuidado animal.

Características Principales

Para Dueños de Mascotas

Para Especialistas Veterinarios

Panel Administrativo

Arquitectura y Tecnologías

Arquitectura Principal

Stack Tecnológico

Funcionalidades Avanzadas

Estructura de la Aplicación

Fragmentos Principales

app/src/main/java/com/CuboEnfocado/huellitas/view/fragments/
├── HomeFragment.java                    # Pantalla principal adaptativa
├── DirectoryFragment.java               # Búsqueda de especialistas
├── CommunityFragment.java               # Feed social de mascotas
├── AppointmentsFragment.java            # Gestión de citas
├── ChatDetailFragment.java              # Chat en tiempo real
├── ProfileFragment.java                 # Perfil de usuario
├── AdminHomeFragment.java               # Panel administrativo
└── [30+ fragmentos adicionales]         # Funcionalidades específicas

ViewModels y Lógica de Negocio

app/src/main/java/com/CuboEnfocado/huellitas/viewmodel/
├── AuthViewModel.java                   # Autenticación y usuarios
├── SpecialistViewModel.java             # Gestión de especialistas
├── AppointmentsViewModel.java           # Citas y agenda
├── ChatViewModel.java                   # Mensajería en tiempo real
├── CommunityViewModel.java              # Feed y publicaciones
├── AdminViewModel.java                  # Funciones administrativas
└── [10+ ViewModels especializados]      # Lógica específica por módulo

Modelos de Datos

app/src/main/java/com/CuboEnfocado/huellitas/model/
├── User.java                           # Usuario base del sistema
├── Pet.java                            # Mascota con historial completo
├── Specialist.java                     # Especialista verificado
├── Appointment.java                    # Cita con estados
├── Message.java                        # Mensaje de chat
├── Post.java                          # Publicación de comunidad
├── Service.java                       # Servicio ofrecido
└── [15+ modelos adicionales]          # Entidades específicas

Requisitos del Sistema

Instalación y Configuración

Para Desarrollo

  1. Clonar el repositorio:
    git clone https://github.com/tu-usuario/huellitas-android.git
    cd huellitas-android
    
  2. Configurar Firebase:
    • Crear proyecto en Firebase Console
    • Habilitar Authentication, Firestore, Storage y Cloud Messaging
    • Descargar google-services.json y colocarlo en app/
  3. Configurar Google Maps:
    • Obtener API Key desde Google Cloud Console
    • Añadir la clave en app/src/main/res/values/strings.xml: ```xml
    TU_API_KEY_AQUI

    ```

  4. Abrir en Android Studio:
    • Sincronizar Gradle
    • Ejecutar el proyecto

Datos de Prueba

La aplicación incluye un generador automático de datos de prueba que crea:

Flujos de Usuario Principales

** Dueños de Mascotas**

  1. Onboarding: Registro con Google/Email → Configuración de perfil
  2. Gestión de mascotas: Crear perfiles → Añadir fotos → Historial médico
  3. Búsqueda de especialistas: Filtros por ubicación → Ver perfiles → Leer reseñas
  4. Agendar citas: Seleccionar servicio → Elegir horario → Confirmar
  5. Comunicación: Chat directo → Seguimiento de citas → Participar en comunidad

Especialistas Veterinarios**

  1. Registro profesional: Verificación de credenciales → Configurar servicios
  2. Gestión de perfil: Especialidades → Horarios → Ubicación de trabajo
  3. Administración de citas: Panel de agenda → Confirmar/rechazar → Seguimiento
  4. Atención al cliente: Chat con dueños → Actualizar historiales → Compartir tips
  5. Contenido educativo: Publicar consejos → Interactuar con comunidad

Administradores

  1. Verificación: Validar especialistas → Revisar documentación
  2. Moderación: Monitorear contenido → Gestionar reportes → Sanciones
  3. Analíticas: Estadísticas de uso → Reportes de actividad → KPIs

Modelos de Datos Principales

Usuario (User)**

public class User {
    private String id;              // ID único de Firebase
    private String email;           // Correo electrónico
    private String name;            // Nombre completo
    private String phone;           // Teléfono de contacto
    private String profilePic;      // URL de foto de perfil
    private UserType userType;      // OWNER, SPECIALIST, ADMIN
    private String city;            // Ciudad de residencia
    private boolean verified;       // Estado de verificación
    // ... métodos y constructores
}

Mascota (Mascota (Pet)**

public class Pet {
    private String id;                          // ID único
    private String ownerId;                     // ID del dueño
    private String name;                        // Nombre de la mascota
    private String species;                     // Especie (perro, gato, etc.)
    private String breed;                       // Raza específica
    private int age;                           // Edad en años
    private double weight;                     // Peso en kilogramos
    private String photo;                      // Foto principal
    private List<String> photoGallery;         // Galería de fotos
    private List<MedicalRecord> medicalHistory; // Historial médico completo
    private String gender;                     // Género
    private boolean sterilized;                // Estado de esterilización
    private List<String> allergies;            // Alergias conocidas
    private List<String> medications;          // Medicamentos actuales
    private String veterinarianContact;        // Veterinario de cabecera
    // ... 20+ campos adicionales para información detallada
}

Especialista (Specialist)**

public class Specialist {
    private String userId;                     // ID del usuario base
    private String profession;                 // Profesión principal
    private List<String> specialties;          // Especialidades médicas
    private String education;                  // Formación académica
    private int experience;                    // Años de experiencia
    private WorkSchedule workingHours;         // Horarios de trabajo
    private List<Service> services;            // Servicios ofrecidos
    private Location location;                 // Ubicación física
    private double rating;                     // Calificación promedio (0-5)
    private List<Review> reviews;              // Reseñas de clientes
    private boolean verified;                  // Verificación profesional
    private String verificationStatus;         // Estado de verificación
    private String profilePicUrl;              // Foto profesional
    // ... campos de contacto y configuración
}

Cita (Cita (Appointment)**

public class Appointment {
    private String id;                         // ID único de la cita
    private String petOwnerId;                 // ID del dueño
    private String specialistId;               // ID del especialista
    private String petId;                      // ID de la mascota
    private String serviceId;                  // Servicio solicitado
    private Timestamp appointmentDate;         // Fecha y hora programada
    private AppointmentStatus status;          // PENDING, CONFIRMED, COMPLETED, CANCELLED
    private String location;                   // Ubicación (clínica/domicilio)
    private double totalCost;                  // Costo total del servicio
    private String notes;                      // Notas adicionales
    private String cancellationReason;         // Motivo de cancelación (si aplica)
    // ... campos de seguimiento y control
}

Funcionalidades de Comunicación

Chat en Tiempo Real

Red Social de Mascotas

Seguridad y Verificación

Sistema de Verificación Profesional

Moderación de Contenido

Cita

public class Appointment {
    private String id;
    private String ownerId;
    private String petId;
    private String specialistId;
    private Date date;
    private int duration; // en minutos
    private AppointmentStatus status; // Enum: PENDING, CONFIRMED, COMPLETED, CANCELLED
    private String notes;
    
    // Constructor, getters y setters
}

Localización Mexicana

Cobertura Geográfica

Especialistas Verificados

Estado del Proyecto

Funcionalidades Completadas

En Desarrollo

Próximas Versiones**

Contribución

Guías de Desarrollo

  1. Fork del repositorio
  2. Crear rama feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit con mensajes descriptivos
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Crear Pull Request

Estándares de Código

Equipo de Desarrollo

Licencia

Este proyecto está licenciado bajo la GNU General Public License v3.0 (GPL-3.0). Ver el archivo LICENSE para más detalles.

Esto significa que eres libre de:

Siempre que:

Contacto y Soporte


**Hecho para las mascotas de México** *"Donde el amor por las mascotas encuentra cuidado profesional"*