Skip to content

ginadevelop/Project1-Eps-udistri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GROUP MEMBERS

  • Alexander Davila

  • Slayder Reyes

  • Joan Esteban Mendez Martinez

  • Nhorverly Astrid Jacome

  • Gina Ardila Zuñiga

API

API-REST facilita la gestión y persistencia de citas médicas en un entorno hospitalario. Se basa en un modelo cliente-servidor, donde los clientes pueden interactuar con el servidor a través de formularios y peticiones HTTP para realizar operaciones CRUD sobre los datos de pacientes y doctores.

También se especifica el método de rutas correspondiente

  • Create = post

  • Read = get

  • Update = put

  • Delete = delete

INSTALACIÓN - CONFIGURACIÓN

Para usar el proyecto en su repositorio local, siga cuidadosamente las indicaciones, teniendo en cuenta que debe clonar el repositorio inicialmente, luego siga las instrucciones indicadas:

  • Inicializar el proyecto
    npm init 
  • Instalar dependencias del proyecto
    npm i express nodemon body-parser mysql2 dotenv cors
  • (Opcional) Instalar Swagger para documentar la API
    npm i swagger-jsdoc swagger-ui-express
  • Instalar ORM sequelize con Typescript
    npm i sequelize sequelize-typescript
  • Instalar nodemon para Typescript
    npm install --save-dev ts-node nodemon
  • Instalar los tipos para trabajar con Typescript
    npm i @types/node @types/express @types/body-parser @types/mysql @types/dotenv
  • Crear el proyecto Typescript
    npx tsc --init
  • Crear el fichero .env (Variables de entorno para la base de datos )
    .env

TECNOLOGÍAS

Tecnologías usadas en el proyecto:

Typescript

Expressjs

Github

MySQL

Node.JS

Sequelize


DIAGRAMA - API

imagen-2023-12-01-180439533.png

RUTAS API

Para consumir la API correctamente se debe tener en cuenta la siguiente estructura...

endpoint/Doctores

  GET      /api/doctores
  GET      /api/doctores/{id}
  POST     /api/doctores/{body}
  PUT      /api/doctores/{id}
  DELETE   /api/doctores/{id}
body
    {
        "id_profesional":"666",
        "nombre":"Juanito",
        "apellido":"Alimaña",
        "correo":"[email protected]",
        "telefono":"31415926535"
    }   

endpoint/Pacientes

  GET      /api/pacientes
  GET      /api/pacientes/{id}
  POST     /api/pacientes/{body}
  PUT      /api/pacientes/{id}
  DELETE   /api/pacientes/{id}
body
    {
        "id_numeroCedula":"777",
        "nombre":"Angel",
        "apellido":"Casallas",
        "fechaNacimiento":"2000-08-28",
        "id_telefono":"315678"
    } 
#### *Consultorio*
```http
  GET      /api/consultorio
  GET      /api/consultorio/{id}
  POST     /api/consultorio/{body}
  PUT      /api/consultorio/{id}
  DELETE   /api/consultorio/{id}
body
    {
        "id_consultorio":"101",
        "direccionConsultorio":"Transversal 78H bis#41c-48 - Compensar"
    }

endpoint/Especialización

  GET      /api/especialidad   
  GET      /api/especialidad/{id}
  POST     /api/especialidad/{body}
  PUT      /api/especialidad/{id}
  DELETE   /api/especialidad/{id}
body
    {
        "especialidad":"Neurologia",
        "descripcion":"Medicina especializada"
    }

endpoint/Cita

  GET      /api/cita   
  GET      /api/cita/{data}
  POST     /api/cita/{id}
  PUT      /api/cita/{id}
  DELETE   /api/cita/{id}
body
    {
        "fecha_hora":"2023-12-07T12:00:00",
        "id_profesional":"56254652",
        "id_numeroCedula":"98723421",
        "id_especializacion":"1",
        "id_consultorio":"101"
    } 

Ejemplo para el uso de parametros

Get item {id}

  GET /api/consultorio/${id}
Parámetro Tipo Descripción
id int Required. Id del recurso

PRUEBAS - API

api/citas ${data}

api/citas

api/doctores ${data}

api/doctores

api/pacientes ${data}

api/pacientes

api/consultorio:id

api/consultorio

api/especializacion:id

api/especializacion

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published