BarkBoard is like Pinterest for dogs—discover and collect adorable dog photos in a visually rich, interactive gallery. Powered by Streamlit for fast UI, Sensei for API client generation, and SQLModel for seamless persistence.
- Random & Breed-Specific Dogs: Get surprise pups or choose your favorite breed.
- Pin to Favorites: Save photos to your own gallery for later viewing.
- Gallery View: Scroll through saved dogs in a clean, grid-based interface.
- Stats Dashboard: See which breeds you love most with real-time charts.
- Streamlit — Build data apps with pure Python, no frontend needed. (docs.streamlit.io)
- Sensei — Generate type-safe API wrappers using decorators and Pydantic models. (github.com)
- SQLModel — Define Python classes that serve as both Pydantic models and SQLAlchemy ORM tables. (sqlmodel.tiangolo.com)
- Dog CEO API — Source of 20,000+ open-source dog images. (dog.ceo)
# 1. Clone repository
git clone https://github.com/your_username/barkboard.git
cd barkboard
# 2. Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
# 3. Install dependencies
pip install poetry
poetry installstreamlit run app.pyOpen your browser at http://localhost:8501 to view the app.
streampaws/
├── app.py # Streamlit UI script
├── client/ # Sensei API wrapper module
│ └── api.py # DogImage model & get_random_dog endpoint
├── models.py # SQLModel ORM definitions and DB init
├── LICENSE # License file
├── dogs.db # Database with featured dogs
├── pyproject.toml # Pinned dependencies
└── README.md # This file
Released under the MIT License.


