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).
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
| 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 |
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
| 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 |
- Node.js 18+
- MySQL database
git clone https://github.com/kalebgrove/qresp.git
cd qresp
npm installCreate 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# Start backend
node backend/server.js
# Start frontend (separate terminal)
npm startFrontend runs on http://localhost:3001, backend on http://localhost:3000.
Built by a team of 3 — UPC Barcelona, 2024.
Academic project — for educational purposes only.