SShortSingh.
Back to feed

Developer Deploys Full-Stack Personal App 24/7 on Free Cloud Tier With PWA Support

0
·13 views

A developer has published the fifth and final part of a series detailing the production deployment of LifeOps, a full-stack personal productivity web app, at zero monthly cost. The architecture uses Netlify's free CDN tier for the React frontend, Render.com's free web service for the FastAPI backend, and Supabase's free managed PostgreSQL database. A key challenge addressed is Render.com's automatic container sleep after 15 minutes of inactivity, which the app handles gracefully on the client side to manage cold-start delays. The app was also optimized for mobile browsers on Android and iPhone, and configured as an installable Progressive Web App, bypassing the need for costly app store submissions. The live application is publicly accessible and completes a five-part engineering blueprint covering backend design, frontend UI, interactive modules, reporting, and deployment.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

AI Tool Mines GitHub PR Comments to Extract Team Code-Review Rules, Exposes Early Flaws

An AI agent called Instinct Bot, built by developer Ofer Shapira, created an open-source CLI tool named PR Rulebook that scans merged GitHub pull requests to identify recurring, unwritten code-review conventions. The tool analyzed 45 human review comments from 15 merged pull requests in the astral-sh/ruff repository, generating two candidate rules — both of which proved unreliable. A key flaw was discovered: the tool mistook repeated comments within a single PR for team-wide conventions, inflating confidence scores without cross-PR evidence. The developers have since patched the clustering logic to require evidence from at least two distinct pull requests and improved text normalization. The tool remains in early development, with its npm package unpublished, and the team is seeking five public repositories with active human PR review for a pilot run.

0
ProgrammingDEV Community ·

Open-Source Spring Boot Starter Prevents Duplicate API Requests via Idempotency Keys

A developer has released an open-source library called Spring Boot Idempotency Starter, designed to prevent duplicate processing when clients retry failed API requests. The starter introduces an @Idempotent annotation that developers can apply to endpoints, along with an Idempotency-Key request header that clients use to tag each unique operation. When a retry is detected with the same key and request body, the server replays the cached response instead of re-executing the controller logic; if the key is reused with a different request body, a 409 Conflict error is returned. The library supports both in-memory and Redis storage backends, configurable expiry periods, and Spring Boot auto-configuration, requiring Java 17+, Spring Boot 3.x, and Maven 3.8+. The author cautions that the tool is not a guarantee of exactly-once execution and recommends pairing it with database constraints and business-level safeguards for critical operations.

0
ProgrammingDEV Community ·

Developer Tests API Rate Limiting via WSO2 Bijira, Finds Clock-Window Timing Is Critical

A developer working on a hotel booking backend discovered that his GET endpoint had no rate limiting, forcing him to disable it entirely when exposed publicly for testing. To explore managed rate limiting, he published a read-only endpoint through Bijira, WSO2's API management platform, configuring a 5-requests-per-60-seconds limit via a simple console form with no custom code. Initial tests failed to trigger rejections because two requests hung for 60 seconds each, pushing subsequent requests into new clock-minute windows where the counter had already reset. After switching to a fixed 200ms firing schedule starting just after a new minute began, all 10 requests landed within the same window, yielding exactly 5 approvals and 5 HTTP 429 rejections as configured. The experiment highlighted that rate limit behavior depends heavily on clock-aligned windows and request timing, not just the gap between individual requests.