Desarrollo de app multiplataforma para control de datos

Job ID: 38450124

Budget: $250 – $750 USD

El proyecto RLTS (Real-Time Location System) con UWB (Ultra-Wideband) tiene como objetivo desarrollar una aplicación multiplataforma que permita la visualización y el control de datos de localización en tiempo real. La solución se construirá integrando sensores UWB para la captura de datos, un sistema backend basado en FastAPI y Apache Kafka para la gestión y procesamiento de flujos de datos en tiempo real, y un frontend desarrollado en Flutter que ofrecerá una interfaz de usuario (UI/UX) atractiva, intuitiva y responsiva. El sistema estará diseñado para ser escalable, eficiente y seguro, cumpliendo con los requerimientos de industrias críticas como la logística, seguridad y manufactura.
________________________________________
Responsabilidades del Desarrollador Frontend:
1. Diseño y Desarrollo de la Interfaz de Usuario (UI/UX):
o Diseñar y desarrollar interfaces de usuario atractivas, intuitivas y funcionales para dispositivos móviles y de escritorio (iOS, Android, Windows, macOS, Linux).
o Implementar principios de diseño responsivo para asegurar una experiencia de usuario óptima en diferentes plataformas.
o Asumir la responsabilidad completa del diseño UI/UX, garantizando que la interfaz sea coherente con los objetivos del proyecto.
2. Integración con Backend:
o Integrar la aplicación Flutter con APIs REST y WebSockets, asegurando la transmisión y visualización de datos en tiempo real.
o Colaborar con el equipo de backend para asegurar la correcta visualización de los datos obtenidos a través de Apache Kafka.
3. Optimización y Rendimiento:
o Optimizar la aplicación para asegurar un alto rendimiento bajo diferentes cargas de datos, utilizando técnicas de caching y gestión de estado eficiente (Riverpod, Bloc o Provider).
4. Pruebas y Calidad:
o Desarrollar y ejecutar pruebas unitarias e integradas para asegurar la estabilidad y calidad del frontend.
5. Documentación:
o Documentar las funcionalidades del frontend y crear guías de usuario, asegurando un mantenimiento eficiente y una fácil escalabilidad futura.
Responsabilidades del Desarrollador Backend:
1. Desarrollo del Servidor Local:
o Configurar e implementar un servidor local utilizando FastAPI para procesar datos en tiempo real provenientes de sensores UWB.
o Gestionar la interacción entre los componentes del sistema utilizando un bus de eventos basado en Apache Kafka.
2. Desarrollo de APIs:
o Diseñar y desarrollar APIs RESTful utilizando FastAPI, asegurando que sean rápidas, escalables y seguras.
o Documentar las APIs con OpenAPI y JSON Schema para facilitar la integración con el frontend.
3. Integración con Apache Kafka:
o Configurar e integrar Apache Kafka para la transmisión y procesamiento de datos en tiempo real.
o Implementar productores y consumidores de Kafka en FastAPI, asegurando el manejo eficiente de eventos.
4. Gestión de Bases de Datos:
o Configurar y administrar una base de datos MySQL para almacenar y organizar los datos de localización.
o Implementar medidas de respaldo y recuperación para asegurar la alta disponibilidad y seguridad de los datos.
5. Seguridad del Sistema:
o Implementar autenticación, autorización y encriptación para proteger los datos y asegurar la comunicación segura entre los componentes del sistema.
________________________________________
Habilidades Requeridas:
Para el Desarrollador Frontend:
• Flutter y Dart: Experiencia mínima de 3 años en desarrollo de aplicaciones multiplataforma.
• Diseño UI/UX: Experiencia en diseño y desarrollo de interfaces con un enfoque en experiencia del usuario.
• Integración de APIs: Experiencia en integración con APIs REST y WebSockets.
• Optimización y Gestión de Estado: Conocimiento en caching y gestión eficiente de estado.
• Pruebas: Experiencia en pruebas unitarias y de integración.
• Control de Versiones: Familiaridad con Git.
Para el Desarrollador Backend:
• Python y FastAPI: Dominio de Python y experiencia en FastAPI para aplicaciones web asíncronas.
• APIs RESTful: Experiencia en diseño y desarrollo de APIs.
• Apache Kafka: Experiencia en configuración y uso para procesamiento de eventos en tiempo real.
• Bases de Datos: Experiencia con MySQL y modelado de datos en tiempo real.
• Seguridad: Conocimientos sólidos en autenticación, autorización y encriptación.
• Tecnologías Deseables: Docker, Kubernetes, sistemas distribuidos e IoT.