Wellness Matcher es una aplicación de línea de comandos (CLI) hecha en Python que simula un sistema de recomendaciones personalizadas de bienestar. A través de un formulario, te genera sugerencias de recursos (rutinas de ejercicio, artículos y planes alimenticios) que se ajustan a tus necesidades. Utiliza clases, persistencia en JSON y lógica de recomendación. Fue pensada como la base para ser escalada a un proyecto en FastAPI y ser implementada en el proyecto Vitalia Selfcare.
| Recurso | ¿Para qué se usó? |
|---|---|
| Python 3.13+ | Lenguaje base del proyecto |
questionary |
Mejorar la UX al completar el formulario |
rich |
Embellecer el formato y la apariencia del código |
json (built-in) |
Para almacenar y persistir los datos de usuarios, preferencias y recursos sin una base de datos externa |
Diseñé así la estructura con el objetivo mantener mi código limpio, organizado y fácil de escalar:
wellness-matcher/
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
├── pyproject.toml
├── main.py
├── output_json/
│ ├── users.json
│ ├── resources.json
├── src/
│ ├── __init__.py
│ ├── app.py
│
│ ├── config/
│ │ ├── __init__.py
│ │ └── settings.py
│
│ ├── controllers/
│ │ ├── __init__.py
│ │ ├── user_controller.py
│ │ └── menu_controller.py
│
│ ├── data/
│ │ ├── __init__.py
│ │ ├── resources.json
│ │ └── db.py
│
│ ├── models/
│ │ ├── __init__.py
│ │ ├── temp_user.py
│ │ ├── abstract_user.py
│ │ └── user.py
│
│ ├── services/
│ │ ├── __init__.py
│ │ ├── auth.py
│ │ └── matcher.py
│
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── cli_helpers.py
│ │ ├── app_helpers.py
│ │ └── file_helpers.py
Estructura inspirada en las recomendaciones de The Hitchhiker’s Guide to Python, una guía creada por usuarios de la comunidad.
Asegurate de tener Python 3.13+ instalado en tu sistema. Podés verificar la versión instalada ejecutando:
python --versionSi no lo tenés instalado, podés descargar la última versión desde la web oficial de Python.
Si ya tenés Git instalado, podés clonar el repositorio con:
git clone https://github.com/jossmarsala/wellness-matcher-cli.gitSi no usás Git, podés descargar el proyecto como .zip desde GitHub haciendo clic en el botón Code > Download ZIP.
Te recomiendo aislar las dependencias del proyecto creando un entorno virtual. Podés hacerlo desde la terminal o usando VSCode.
-
Abrí la terminal en la carpeta del proyecto.
-
Ejecutá:
python -m venv venv
-
Activá el entorno:
-
En Linux/MacOS:
source venv/bin/activate -
En Windows:
venv\Scripts\activate
-
- Abrí la paleta de comandos (
Ctrl+Shift+PoCmd+Shift+Pen Mac). - Buscá
Python: Create Environmenty seguí los pasos para crear y activar el entorno.
Con el entorno activado, instalá las dependencias necesarias con:
pip install -r requirements.txtCorré el archivo principal desde la terminal:
python main.pyYa tenés todo listo para empezar a usar Wellness Matcher.
Creé un modelo de usuario UserModel que contiene los datos básicos de los usuarios, como nombre, contraseña y preferencias.
Por motivos de testing, implementé la clase TempUser, que hereda de UserModel, para de facilitar la prueba de nuevas funcionalidades sin necesidad de crear o modificar usuarios reales. Esta clase genera usuarios temporales con datos automáticos y no persiste en archivos, lo que es muy útil para pruebas rápidas.
Para utilizarla, podés llamar a la siguiente función:
from src.utils.app_helpers import test_temp_user
test_temp_user()👩💻 Mi nombre es Josefina Marsala
💼 Entusiasta del bienestar digital y el diseño con propósito. Este proyecto forma parte de mi formación en Python, y es la base para una futura API de recomendaciones personalizadas integradas con front-end y bases de datos reales.
- Github: @jossmarsala
- Contacto: marsalahjosefina@gmail.com
Este proyecto está bajo la licencia MIT. Ver LICENSE para más info.
"Proyecto desarrollado con
pythony mucha intención <3"
