Engineering
Django backend with form handling, model persistence, and email
delivery. JS progressive enhancement for small UX details (field
conditioning, success state).
# models.py (simplified)
class Submission(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
role = models.CharField(max_length=20, choices=[("flyer","Flyer"),("base","Base"),("backspot","Backspot")])
stunt = models.CharField(max_length=120)
symptom = models.CharField(max_length=120)
context = models.TextField(blank=True, default="")
email = models.EmailField(blank=True, null=True) # optional contact
# views.py (simplified)
def submit_issue(request):
if request.method == "POST":
form = SubmissionForm(request.POST, request.FILES)
if form.is_valid():
sub = form.save()
send_mail(
subject=f"[Stuntbusters] {sub.role} - {sub.stunt}",
message=f"Symptom: {sub.symptom}\nContext: {sub.context}",
from_email=settings.DEFAULT_FROM_EMAIL,
recipient_list=[settings.COACH_EMAIL],
)
return redirect("thanks")
else:
form = SubmissionForm()
return render(request, "submit.html", {"form": form})
Email uses Django's email backend (swappable for SMTP provider).
DB is SQLite locally, Postgres-ready in production. Forms include
server-side validation mirrored by lightweight client hints.