Categorías
Heres I Temporada 1

Log 1.1 – Documentación de Heres I

El primer paso dentro del Proyecto Heres ha sido el de completar una mínima documentación.

Muchas veces he aborrecido esta tarea por considerarla tediosa y farragosa. Sin embargo, con el tiempo he aprendido el papel esencial que juega en todo desarrollo.

Disponer de un plan de acción, una organización y una lista de tareas con la que arrancar el proyecto es fundamental: describe los pasos a seguir, contextualiza las actividades y enfoca el trabajo.

La versión 1.0 del documento del proyecto ya está disponible en el repositorio del proyecto, aunque aquí incluyo la información más esencial del mismo con la idea de mantener la coherencia en los distintos devlogs que vaya publicando:

Descripción del proyecto

El Proyecto Heres I surge como solución a la necesidad de muchos profesionalesde la salud mental de disponer de un sistema de tracking  y análisis de datos relacionados con la evolución de la terapia en sus pacientes.

El objetivo de esta plataforma será la de proporcionar un entorno sencillo para que los pacientes puedan suministrar información sobre indicadores definidoscomo relevantes en su terapia. 

Estos datos, una vez almacenados, serán tratados de forma autónoma por un sistema de evaluación que servirá los datos procesados a los profesionales que lo requieran en el desarrollo de la terapia.

Las primeras fases de este proyecto se van a concentrar en la definición y estructura básica del sistema, la selección de los tratamientos y los parámetros de evaluación asociados y el sistema de evaluación integrado. 

Requisitos Funcionales

Esta es una versión muy básica de los requisitos funcionales que va a tener la plataforma Heres I. Se trata de una definición dinámica que, con toda seguridad, irá sufriendo modificaciones conforme nos sumerjamos de lleno en el proceso de desarrollo. No obstante, sirve como punto de partida para organizar las tareas en las próximas semanas:

Main Page

Breve información acerca de la plataforma y las soluciones que proporciona

Login Page

Login de usuario

Landing Page

  • Perfil de usuario
    • Consulta de datos de usuario  
    • Modificación de datos de usuario
  • Log Diario
    • Iniciar nuevo
    • Recuperar previo
    • Borrar
  • Bandeja de mensajes
    • Consultar
    • Borrar
  • Consultas terapéuticas
    • Crear 

Dashboard

  • Perfil de profesional
    • Consultar perfil del profesional
    • Modificar datos del profesional
  • Lista de pacientes
    • Acceso directo a panel de Paciente
  • Panel de paciente
    • Tendencia
    • Informes
  • Terapias
    • Crear
    • Modificar
    • Borrar

Con esta información de base, Heres I comienza a desarrollarse oficialmente.

We don’t stop playing because we grow old; we grow old because we stop playing.

George B. Shaw

Categorías
Temporada 0

Log 0.6

El último escalón en la escalera que comencé hace unos meses para llegar al punto de salida del proyecto Heres es conocer TypeScript.

TypeScript es un lenguaje de programación desarrollado y mantenido por Microsoft. Su gran utilidad radica en que se trata de un lenguaje sintácticamente estricto que añade tipado estricto a JavaScript.

El desarrollo de Heres-I se va a realizar totalmente en TypeScript por una serie de razones:

Definición de tipos

Algo clave en el desarrollo complejo de un producto software es definir claramente qué es lo que vamos a utilizar y cuál es su contenido. JavaScript nos permite dejar esos conceptos sin definir, abriendo así la puerta a futuros problemas de compilado. Con TypeScript esto no sucede porque, antes de ponernos a trabajar, debemos definir nuestras variables: cómo están formadas y qué tipo de datos van a contener.

Declaración de variables de entrada y de salida a funciones

TypeScript nos «obliga» a utilizar tipos también en las entradas y salidas de nuestras funciones, de nuestros componentes. Esto hace de mecanismo de control para establecer claramente qué esperamos recibir y qué esperamos obtener en cada llamada a una función.

De nuevo, TypeScript limita mucho los posibles errores de desarrollo asociados a la ambigüedad inherente en JavaScript.

Un ejemplo de una función en TypeScript sería:

import React from 'react';
import { Entry } from '../types';


const HospitalEntry: React.FC<{ entry: Entry }> = ({ entry }) => {

  return(
    <div>
      <h5>Hospital Check Entry</h5> 
      {entry.description}
    </div>
  );
};

export default HospitalEntry;

Es en la propia definición de la función donde ya declaramos el tipo de la entrada y de la salida, con lo que nos aseguramos en todo momento de llevar un control del flujo de datos.

Heres I, en marcha

Una vez he finalizado la parte de TypeScript y, a falta de concluir con la sección de React-Native para desarrollo móvil, ya me siento en condiciones de dar el paso con Heres I y empezar con un proyecto personal de mayor envergadura.

Los próximos devlogs estarán enfocados a una parte más teórica y estructural del desarrollo con la definición de requisitos y planificación del desarrollo de forma algo más exhaustiva.