When building the backend engine for is different from the payload required to list a premium ), our search and inventory endpoints are prime targets for scraping by competitors. Additionally, we need to protect our booking endpoints from spam.
Instead of writing custom rate-limiting middleware, we integrated Slowapi. It seamlessly wraps our FastAPI routes, allowing us to define granular rate limits (e.g., 5/minute for booking attempts, 60/minute for search queries) using Redis or memory as the backing store.
3. Offloading Assets to Cloudinary
Images make or break a rental marketplace. Shop owners upload multiple high-resolution photos of their vehicles, but serving those directly from our backend server or database would destroy performance.
We integrated Cloudinary directly into our asset upload flow. When a shop owner adds a new vehicle, our FastAPI backend acts as a secure proxy—it validates the image file, generates a secure signature, and uploads it to Cloudinary. The database simply stores the optimized Cloudinary URLs. This keeps our PostgreSQL database lean and ensures images are served via a fast global CDN.
The Takeaway
Building GoPanda reinforced my love for the modern Python web ecosystem. The combination of FastAPI for speed, SQLAlchemy for robust data modeling, and Pydantic for bulletproof validation provides an incredible developer experience.
If you've got any questions, drop them below. Thank you all.
SOCIAL SHARE CARD GENERATOR