Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 3.82 KB

File metadata and controls

47 lines (40 loc) · 3.82 KB

Final Project: Django Web Application

Overview

Build a small Django web application that demonstrates the workflows we practiced together: setting up a project, creating models, wiring views, and rendering templates. Focus on a clear user story, clean presentation, and documentation that lets a classmate run the project without surprises.

Core Requirements (Workshop Skills)

  • Start a fresh Django project and app using django-admin startproject and python manage.py startapp (see workshop_13/web for reference).
  • Define at least two related models (e.g., CategoryProduct) and apply the migrations.
  • Register your models in the Django admin and load enough sample records so pages have real data.
  • Build one list view and one detail view (function-based or class-based) that return context data to templates.
  • Create templates that render those views, reuse shared navigation, and display meaningful empty states when no records exist.
  • Link pages together (e.g., list → detail → back to list) so the user can move through the app smoothly.

Technical Checklist (Workshop Skills)

  • Work inside a virtual environment and track dependencies with requirements.txt.
  • Keep project code inside a dedicated Django app (core, tracker, etc.) with models, views, templates, and urls.py grouped logically.
  • Document the commands to install dependencies, run migrations, create a superuser, and start the development server.

Milestones

  1. Proposal: Submit a short design brief describing the problem, target users, core models (fields/relationships), and key pages.
  2. Prototype: Implement the data models, migrations, and admin site registration. Share screenshots or admin URLs.
  3. Beta: Finish your list/detail views, templates, and sample data. Request peer feedback on usability.
  4. Launch: Polish styling, finalize documentation, and demo the application running locally.

Deliverables

  • Django project folder tracked in Git with clear commit history.
  • README.md at the project root explaining setup, usage, and known limitations.
  • requirements.txt for replicating the environment.
  • Screenshots or a short screencast showing the core user flow.
  • Optional: Deployed version on Render, Railway, or PythonAnywhere (link in README).

Optional Enhancements (Research & Explore)

Research Links