First let's scope this out:
- internal tool - login (username+password), but no registration; no "reset password" flow either, I can always access the db manually if I really need to
- nice, simple, functional web interface to list web URLs that are checked, with their status (up or down) and last check, ability to add, modify or remove checks. on details of every check, show checks history for the past 24h and availability chart for longer periods in the past.
- for each config: 1. url to hit, 2. method (default is GET); 3. headers (if any); 4. body (if method is POST or PUT); allowed statuses (tags/labels with multiple select or can be manually entered; default 200, 201, 204); timeout (default 10s)
- tech : backend: python (use "uv" for managing the project), django for backend, use sqlite for database. django management command that will run every minute and should run the checks (the checks themselves should be in parallel to avoid spending too much time, so use async for just that small part - every