Skip to content

kalebgrove/qresp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🫁 qresp — Interstitial Lung Disease Symptom Tracker

A web application designed to help patients with Interstitial Pulmonary Diseases (MPIDs) track their daily symptoms, receive urgency recommendations, and share results with healthcare providers via QR code.

Built as a university project at Universitat Politècnica de Catalunya (UPC).


🩺 What it does

Patients with chronic lung conditions need to monitor their symptoms regularly. qresp streamlines this by providing:

  • A secure patient account with personal and medical profile
  • A catalog of 34+ interstitial lung diseases to associate with the patient's profile
  • A daily symptom questionnaire (shortness of breath, persistent cough, fever, chest pain, etc.)
  • An urgency assessment based on symptom responses, stored per patient in a database
  • A QR code on the profile page to quickly share results with a doctor

🛠️ Tech Stack

Layer Technology
Frontend React 19, React Router, CSS3
Backend Node.js, Express
Database MySQL (mysql2)
Auth bcrypt password hashing, cookie-based sessions
QR Code qrcode.react
HTTP Client Axios

📁 Project Structure

qresp/
├── backend/
│   └── server.js          # Express API (auth, symptom logging, user data)
├── src/
│   ├── login.js           # Login & multi-step registration form
│   ├── home.js            # MPID selector + symptom questionnaire
│   ├── Profile.js         # User profile, settings, QR code
│   ├── Resultados.js      # Results display with urgency level
│   └── questions.js       # Alternative question flow component
└── public/
    └── index.html

🔌 API Endpoints

Method Endpoint Description
POST /login Authenticate user
POST /register Register new patient (2-step)
POST /get-usr-data Fetch full user profile
POST /dni-usr Get patient ID from email
POST /add-symptoms Log symptom answers for selected MPIDs

⚙️ Setup

Prerequisites

  • Node.js 18+
  • MySQL database

Installation

git clone https://github.com/kalebgrove/qresp.git
cd qresp
npm install

Environment variables

Create a .env file in the root:

DB_CONNECTION=your_db_host
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=your_db_name
GPT_SECRET_KEY=your_openai_key   # optional
PORT=3000

Run

# Start backend
node backend/server.js

# Start frontend (separate terminal)
npm start

Frontend runs on http://localhost:3001, backend on http://localhost:3000.


👥 Contributors

Built by a team of 3 — UPC Barcelona, 2024.


📄 License

Academic project — for educational purposes only.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors