Full-stack application inspired by Baymax, focused on health support, education, and care organization. The frontend is a SPA and the backend provides APIs with AI integration, medication info, and support resources.
- AI chat (text) with optional image support.
- Active ingredient lookup and medication info summaries.
- Medication and appointment scheduler with a local calendar.
- Pharmacy map (Portugal) via OpenStreetMap/Overpass.
- Informational pages and team section.
- Frontend: HTML/CSS/JS (vanilla), Bootstrap, FullCalendar, Leaflet, Dropzone, Marked.
- Backend: Java 17, Spring MVC, Hibernate, PostgreSQL, Spring AI.
- SPA server: Node.js + Express (HTTPS) serving
frontend/.
- Node.js 18+
- Java 17 + Maven
- Tomcat 7+ (or another WAR-compatible container)
- PostgreSQL
- AI key (OpenAI or compatible)
- Optional: vision server (LLaVA-Med) for image questions
-
Backend
- Copy
backend/src/main/resources/config.properties.exampletobackend/src/main/resources/config.properties. - Set DB credentials and AI keys.
- Create the database using the configured name.
- Copy
-
Frontend (local HTTPS)
- Generate certificates and place them in
certs/key.pemandcerts/cert.pem. - The frontend is served via
server.js(HTTPS on port 5500).
- Generate certificates and place them in
- Build the WAR:
mvn -f backend/pom.xml clean package
- Deploy to Tomcat:
- Copy
backend/target/baymax.warto Tomcat'swebapps/directory. - The API will be available at
http://localhost:8080/baymax.
- Copy
npm install
npm startOpen: https://localhost:5500
POST /baymax/api/ask-baymax(text)POST /baymax/api/show-baymax(text + base64 image)POST /baymax/api/medication/active-ingredientPOST /baymax/api/medication/active-ingredient/{ai}
- The map uses Overpass API and requires internet access.
- The image feature depends on a compatible worker (e.g., LLaVA-Med). See
llava-med/README.md.
This project is for educational and research purposes only. Do not use it as a substitute for professional medical advice.