refactor: split views, reorganize CSS, add docs for new contributors#437
refactor: split views, reorganize CSS, add docs for new contributors#437gerardm27 wants to merge 7 commits into
Conversation
There was a problem hiding this comment.
hacker name is missleading, this are generic classes for applications
There was a problem hiding this comment.
Not hacker related. Same as file name, is for different types of applications (mentor, hacker, volunteer)
There was a problem hiding this comment.
would rename it to mentorConverter to be more specific to what it does
There was a problem hiding this comment.
@jmiarons all files under applications/views/ are domain-specific. By renaming applications/views/hacker.py to application.py, now mentor.py and sponsor.py read as an extension to that flow, so the name is valid imho
There was a problem hiding this comment.
batch_ops? invite.py may be more accurate since it is for inviting hackers to the event
There was a problem hiding this comment.
Lists is missleading. organizer dashboard or tabs may be more accurate for the purpose of this view
There was a problem hiding this comment.
renaming to application_lists.py, will be updated in another PR
Addresses code review feedback: - applications/views/hacker.py → application.py (contains dispatch for hacker, volunteer, and mentor; not hacker-only) - class HackerDashboard → ApplicationDashboard - class HackerApplication → ApplicationEditView (also avoids shadowing the HackerApplication model) - organizers/views/batch_ops.py → invite.py (file contains only InviteTeamListView) - organizers/views/lists.py → application_lists.py (more specific than "lists") Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Summary
Structural refactor to make the codebase easier for new organizers. No logic changes, only code moved around hehe.
Views splitting
Six monolithic
views.pyfiles converted toviews/packages, split by feature concern:organizerslists.py,review.py,batch_ops.pyapplicationshacker.py,mentor.py,sponsor.py,draft.pyreimbursementhacker.py,organizer.pyuserauthentication.py,profile.pybaggagehacker.py,volunteer.pyhardwarehacker.py,admin.pyCSS reorganization
custom-bootstrap.css(was 1.5k lines) split into 14 component files underapp/static/css/bootstrap-overrides/main.cssintostats/static/css/stats.cssandorganizers/static/css/organizers.cssDocumentation
New
docs/folder with four guides for new webdev organizers:docs/getting-started.md— what the app does, app-by-app overview, URL map, where templates and styles livedocs/setting-up.md— local dev setup (extracted from README)docs/contributing.md— worked examples for the most common yearly changes (add/remove a form field, change the reimbursement cap)docs/email-templates.md— full table of every email the system sends, how to edit content and subjects, how to add template variables