Skip to content

iapex-org/web-app

IAPEX — Institutional Web Portal

Angular TypeScript Bootstrap Vite

Secure web portal for hospital staff to register, search, and manage unidentified patients using hybrid AI matching.

Repository · Report Bug · Research Paper

🇬🇧 English · 🇪🇸 Español


About IAPEX

IAPEX (Hybrid AI for Missing Patient Identification) is a validated system that helps healthcare institutions identify and manage unidentified or missing patients through a fusion of facial recognition and textual analysis.

This repository contains the Institutional Web Portal — a secure Angular application for medical staff to:

  • Register unidentified patients with morphological traits and photographs
  • Manage patient records, institutions, and memberships
  • Search and view potential matches with similarity scores
  • Process contact requests from families
  • Send institutional notifications
  • Upload and manage media files

Ecosystem

Component Repository Stack
Web Portal (this) iapex-org/web-app Angular 19, Bootstrap, TypeScript
Mobile App iapex-org/mobile-app React 18, Ionic 8, Capacitor
Core API iapex-org/core-api Spring Boot 3, PostgreSQL, MongoDB

Features

  • Patient Management — Register, update, and search unidentified patients
  • Institution Management — Manage healthcare institution profiles
  • Hybrid Search — Facial recognition + textual description matching
  • RBAC Security — Role-Based Access Control with JWT authentication
  • Notifications — Institutional email notifications
  • Media Upload — Image and file management with FilePond
  • QR Codes — Patient QR generation for quick referencing
  • Interactive Dashboard — Charts and statistics with amCharts

Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn

Setup

git clone https://github.com/iapex-org/web-app.git
cd web-app
npm install

Create a .env file from the example:

cp .env.example .env

Configure your environment variables:

API_URL_USERS_WEB=http://localhost:8080/api/v1/users/web
API_URL_PATIENTS=http://localhost:8080/api/v1/patients
API_URL_INSTITUTIONS=http://localhost:8080/api/v1/institutions
API_URL_CONTACT_REQUESTS=http://localhost:8080/api/v1/contact-requests
API_URL_MEMBERSHIPS=http://localhost:8080/api/v1/memberships
API_URL_NOTIFICATIONS=http://localhost:8080/api/v1/notifications
TOKEN_DURATION=600000
AUTH_KEY=auth_user

Run the development server:

npm start

The app will be available at http://localhost:4200

Architecture

┌─────────────────────────────────────────────┐
│              Web Portal (Angular)            │
│  ┌─────────┐ ┌──────────┐ ┌──────────────┐ │
│  │  Auth   │ │ Patients │ │ Institutions │ │
│  │ Module  │ │  Module  │ │   Module     │ │
│  └────┬────┘ └────┬─────┘ └──────┬───────┘ │
│       │           │              │          │
│  ┌────▼───────────▼──────────────▼───────┐  │
│  │         HTTP Services (Axios)         │  │
│  └────────────────┬──────────────────────┘  │
└───────────────────┼────────────────────────┘
                    │ JWT Auth
┌───────────────────┼────────────────────────┐
│      Core API (Spring Boot)                │
│   /api/v1/users, /api/v1/patients, ...     │
└────────────────────────────────────────────┘

Contributing

Please read CONTRIBUTING.md for our branch naming, commit conventions, and PR workflow.

License

This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.

Acknowledgments

Authors:

Collaborators:

  • Chávez Moreno Jose Eduardo
  • Fernández López Kevin Noé

Advisor:

  • Escobar García Arturo

Stakeholders:

  • Guarneros Nolasco Luis Rolando
  • Cruz Ramos Nancy Aracely

Academic Support:

  • Universidad Tecnológica del Centro de Veracruz

About

Institutional web portal for hospital staff to register, search, and manage unidentified patients using hybrid AI matching (Angular 19, Bootstrap, TypeScript)

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages