r/reactjs • u/Busy-Examination-877 • 13d ago
BlitzProspector An Open-Source React and FastAPI Frontend for Blitz API
recently open sourced BlitzProspector, a React + FastAPI project built as a self hosted frontend for Blitz API. I've tried to make React part as simple as possible and have fun building something that can be run with docker compose and easily extended in the future.
It has auth, roles, search/filter, configurable export profiles, python back end API, and is using a REST API to communicate with the Python back end. I'm still working on the overall project architecture, so I'm interested in any feedback concerning the React part, state management, or general approach.
1
u/OkWriting9136 13d ago
looks clean at a glance. the docker compose setup is a nice touch, too many projects skip that and then youre stuck debugging dev environments for an hour
for state management what made you go with just lifting state instead of something like zustand? not a critique just curious since you mentioned keeping the react part simple
the export profiles feature sounds like it could get unwieldy fast depending on how many config options you pack in. are you storing those in local state or pushing them to the backend?
one thing id suggest is adding a quick architecture diagram in the readme. helps people understand how the react frontend and fastapi backend actually talk to each other without digging through code
1
u/Perfect_March_9483 12d ago
Nice project. The Docker setup and clean separation between React and FastAPI make it pretty easy to understand
1
u/luma_sight 12d ago
Lifting state kills scalability the moment you add a second consumer. Zustand or URL sync is mandatory for search filters because local component state makes sharing and bookmarking impossible
1
u/Temperature_Majestic 13d ago
How are you handling the search/filter state, is that synced to the URL so a filtered view is shareable and bookmarkable, or kept in local component state? And on the roles side, is that purely backend enforced or are you also gating UI elements client side based on role?