Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Imjuanisss/proyecto-melika/llms.txt

Use this file to discover all available pages before exploring further.

MELIKA is a full-stack digital health platform designed to streamline the entire care journey — from a patient booking their first appointment to a doctor updating a clinical record and an administrator managing the medical roster. This page introduces what MELIKA is, what it can do, who uses it, and the technical and regulatory foundations it is built on.

What MELIKA Does

MELIKA covers the core workflows of a modern outpatient clinic in a single, integrated application:
  • Appointment booking — patients browse available time slots per specialty and doctor, and the platform prevents double-bookings through database-level concurrency guards.
  • Clinical record management — doctors create, read, and update structured clinical histories including prescribed medications stored as JSONB.
  • PDF document generation — clinical summaries, prescriptions, and clarifications are rendered as downloadable PDFs directly in the browser via @react-pdf/renderer.
  • Doctor and specialty administration — administrators manage the doctor catalogue, medical specialties, and invitation-based onboarding.
  • Role-based access control — every API route and every client-side page is gated behind a verified JWT and a role check, keeping patient data visible only to authorised users.
  • Audit logging — every mutation to the citas (appointments) table is captured automatically in an immutable logs_citas table via a PL/pgSQL trigger.

User Roles

MELIKA has three distinct roles, each with its own dashboard, routes, and permissions.
RoleKey Capabilities
Paciente (Patient)Register an account, verify email, browse specialties and doctors, book and cancel appointments, view personal clinical history, download PDF summaries.
Médico (Doctor)Log in via admin invitation, view daily schedule on a FullCalendar interface, manage availability slots, create and update clinical records, generate prescriptions and clarification forms.
AdminManage the full doctor catalogue and specialties, create doctor accounts via invitation tokens, view platform-wide appointment logs, and configure operating hours.
Doctor accounts are never self-registered. An administrator generates a one-time invitation token, which is emailed to the doctor and used to complete the sign-up flow. This is enforced by the tokens_invitacion table and verified before account creation.

Technology Stack

LayerTechnologyVersion
Frontend frameworkReact19.x
Build toolVite8.x
Client routingReact Router DOM7.x
Calendar UIFullCalendar (daygrid, timegrid, interaction)6.x
PDF rendering@react-pdf/renderer + @pdfslick/react4.x
Backend runtimeNode.js≥ 20
Backend frameworkExpress5.x
DatabasePostgreSQL (via pg.Pool)
AuthenticationJSON Web Tokens (jsonwebtoken) + bcrypt
EmailNodemailer + Google APIs (Gmail OAuth2)
DeploymentRailway (frontend + backend + database)

Non-Functional Requirements

MELIKA is built with three cross-cutting concerns that shape every implementation decision:
  • Accessibility — the UI targets WCAG 2.1 Level AA compliance, using semantic HTML, sufficient colour contrast, and keyboard-navigable components throughout.
  • Security — the system follows the principles of ISO/IEC 27003 for information-security risk management: least-privilege role guards on every route, secrets stored only in environment variables, CORS restricted to declared origins, and JWTs verified on every protected request.
  • Data protection — as a Colombian healthcare application processing sensitive personal data, MELIKA is designed to comply with Ley 1581 de 2012 (Estatuto de Protección de Datos Personales), including obtaining informed consent during registration and limiting data access to authorised roles.

Explore the Documentation

Quickstart

Clone the repo, configure environment variables, and have a fully working local instance running in under 10 minutes.

Architecture

Understand how the React client, Express API, and PostgreSQL database connect — including the auth flow and database schema.

API Reference

Explore every REST endpoint, required headers, request bodies, and response shapes.

Deployment

Deploy MELIKA to Railway with a production PostgreSQL instance and environment variable configuration.

Build docs developers (and LLMs) love