Luke P — Render Deploy Guide
Project: Study Buddy Tracker
Repo: final-project-Pattlu3
Goal: Put your Flask + SQLite assignment tracker online for Demo Day.
This guide is tailored to your current repo. Your app has app.py, db.py, schema.sql, templates, pyproject.toml, and uv.lock. It creates the SQLite database inside Flask's instance/ folder when the app starts.
Before You Start
Make sure the app works locally:
uv sync
uv run flask --app app run --debug
Open the preview, add an assignment, mark it complete, and confirm the dashboard updates.
Step 1 — Add the Production Server
Render should run your Flask app with gunicorn.
uv add gunicorn
This updates pyproject.toml and uv.lock.
Step 2 — Confirm the Schema Is Committed
Your app initializes SQLite from this file:
schema.sql
Check Source Control. If schema.sql appears under Changes, stage and commit it. Render needs that schema file to create the assignments table.
Step 3 — Create render.yaml
Create a new file at the project root named render.yaml:
services:
- type: web
name: study-buddy-tracker
env: python
plan: free
buildCommand: uv sync --frozen && uv cache prune --ci
startCommand: uv run gunicorn app:app
autoDeploy: true
No API keys are needed for the current version of this app.
Step 4 — Commit and Push
In Source Control, stage and commit:
pyproject.tomluv.lockrender.yamlschema.sqlif it is changed
Use a message like:
add render deploy config
Then click Sync Changes.
Step 5 — Create the Render Service
- Go to render.com and sign in with GitHub.
- Click New + → Web Service.
- Connect
final-project-Pattlu3. - Confirm these settings:
- Environment:
Python - Build Command:
uv sync --frozen && uv cache prune --ci - Start Command:
uv run gunicorn app:app - Plan:
Free
- Environment:
- Click Create Web Service.
Step 6 — Test the Live Site
When Render finishes, open the live URL and test the core flow:
- Add a new assignment.
- Return to the dashboard.
- Edit the assignment.
- Mark it complete.
- Toggle the assignments list to show completed work.
If the app errors on startup, check the Render log for schema.sql or SQLite messages.
Demo Day Notes
Render's free tier has an ephemeral filesystem. Assignments you add on the live site can disappear after a redeploy. For demo day, add a few sample assignments shortly before presenting so the dashboard has meaningful data.