https://github.com/blnkoff/barkboard
BarkBoard is like Pinterest for dogs—discover and collect adorable dog photos in a visually rich, interactive gallery.
https://github.com/blnkoff/barkboard
api-wrapper dashboard database sensei sensei-python sql sqlmodel streamlit webapp
Last synced: about 1 month ago
JSON representation
BarkBoard is like Pinterest for dogs—discover and collect adorable dog photos in a visually rich, interactive gallery.
- Host: GitHub
- URL: https://github.com/blnkoff/barkboard
- Owner: blnkoff
- License: mit
- Created: 2025-06-27T19:03:17.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-27T20:45:19.000Z (12 months ago)
- Last Synced: 2025-06-27T21:33:26.380Z (12 months ago)
- Topics: api-wrapper, dashboard, database, sensei, sensei-python, sql, sqlmodel, streamlit, webapp
- Language: Python
- Homepage:
- Size: 1000 Bytes
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BarkBoard 🐶
**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.
## 🚀 Features
1. **Random & Breed-Specific Dogs**: Get surprise pups or choose your favorite breed.
2. **Pin to Favorites**: Save photos to your own gallery for later viewing.
3. **Gallery View**: Scroll through saved dogs in a clean, grid-based interface.
4. **Stats Dashboard**: See which breeds you love most with real-time charts.
## Screenshots
### Main Page

### Favorites View

### Stats Dashboard

## 🛠️ Tech Stack
* **[Streamlit](https://docs.streamlit.io/)** — Build data apps with pure Python, no frontend needed. ([docs.streamlit.io][1])
* **[Sensei](https://github.com/CrocoFactory/sensei)** — Generate type-safe API wrappers using decorators and Pydantic models. ([github.com][2])
* **[SQLModel](https://sqlmodel.tiangolo.com/)** — Define Python classes that serve as both Pydantic models and SQLAlchemy ORM tables. ([sqlmodel.tiangolo.com][3])
* **[Dog CEO API](https://dog.ceo/dog-api/)** — Source of 20,000+ open-source dog images. ([dog.ceo][4])
## 📦 Installation
```bash
# 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 install
```
## ▶️ Running the App
```bash
streamlit run app.py
```
Open your browser at `http://localhost:8501` to view the app.
## 📂 Project Structure
```
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
```
## 📄 License
Released under the [MIT License](https://opensource.org/licenses/MIT).
[1]: https://docs.streamlit.io/?utm_source=chatgpt.com
[2]: https://github.com/CrocoFactory/sensei?utm_source=chatgpt.com
[3]: https://sqlmodel.tiangolo.com/?utm_source=chatgpt.com
[4]: https://dog.ceo/dog-api/documentation/?utm_source=chatgpt.com