Family Stool Tracker
A Flask-based web application designed to help parents monitor their family members' bowel movements using the Bristol Stool Scale. This tool is particularly useful for parents with children who have digestive issues or for those who need to report bowel movement patterns to healthcare providers.
The Bristol Stool Scale is a medical aid designed to classify feces into seven groups. It was developed by Heaton and Lewis at the University of Bristol and was first published in the Scandinavian Journal of Gastroenterology in 1997.
- Type 1: Separate hard lumps (severe constipation)
- Type 2: Lumpy and sausage-like (mild constipation)
- Type 3: Sausage-shaped with cracks (normal)
- Type 4: Smooth, soft sausage (normal)
- Type 5: Soft blobs with clear edges (lacking fiber)
- Type 6: Mushy with ragged edges (mild diarrhea)
- Type 7: Liquid without solid pieces (severe diarrhea)
- Medical Documentation: Provides accurate records for healthcare providers
- Pattern Recognition: Helps identify dietary triggers and health issues
- Health Monitoring: Assists in monitoring digestive health over time
- Treatment Effectiveness: Helps evaluate if treatments or dietary changes are working
- Backend: Python Flask
- Database: SQLite with SQLAlchemy ORM
- Authentication: Flask-Login
- Frontend: HTML, CSS (Bootstrap DCN), HTMX
- Time Management: PyTZ for timezone handling
- Clone the repository:
git clone https://github.com/yourusername/poop-tracker.git
cd poop-tracker- Create and activate a virtual environment:
I am currently using 3.10
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate- Install required packages:
pip install -r requirements.txt- Set up the database:
flask db upgrade- Run the application:
python stool_app.pyThe application will be available at http://localhost:5000
- User registration and authentication
- Add multiple family members
- Record bowel movements with timestamp
- Track stool type using Bristol Stool Scale
- View history of records
- Timezone support
The application uses SQLite by default. To modify the timezone, create a .env file in the root directory and add the following variables:
# .env
SECRET_KEY=my_super_secret_key
TIMEZONE=America/BostonPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
- Ability to edit and delete records
- Ability to edit family members
- UTC time support
- New UI design and theme
- Calendar view of records
- More detailed information on each stool type
- Additional data visualizations (charts)
- Ability to export records as CSV, PDF
- Forgot password functionality
