
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.
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
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
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
git clone https://github.com/tu-usuario/huellitas-android.git
cd huellitas-android
google-services.json y colocarlo en app/app/src/main/res/values/strings.xml:
```xml```
La aplicación incluye un generador automático de datos de prueba que crea:
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
}
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
}
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
}
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
}
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
}
git checkout -b feature/nueva-funcionalidad)git push origin feature/nueva-funcionalidad)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: