DogRoulette is a full-stack web app that shows adoptable dogs near you, pulled from the Petfinder API: https://www.petfinder.com/developers/v2/docs/.
dogroulette/
├── backend/ # FastAPI backend for dog API
├── frontend/ # Next.js frontend (React)
└── venv/ # Python virtual environment
# first time only
pre-commit install
docker-compose build backendThen can be run with
docker-compose up backendBackend will run at http://localhost:8000 and docs are available at /docs.
To generate a migration run the following:
alembic revision --autogenerate -m "Meaningful message here..."This will create a file under alembic/versions/ with something like:
op.alter_column("pet", "petfinder_id", existing_type=sa.VARCHAR(), type_=sa.INTEGER())alembic upgrade headdocker-compose build frontend # first time onlyThen can be run with
docker-compose up frontendApp will run at http://localhost:3000