TianyangZhang
ef4c9bf307
feat: add admin management views (jobs, applications, organizations, users)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:42:51 +08:00
TianyangZhang
ca629a403c
feat: add seeker center (resume editor, applications, profile)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:42:46 +08:00
TianyangZhang
0a44e4a18d
feat: add login and register views with role-based redirect
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:42:42 +08:00
TianyangZhang
564fb06e3b
feat: add public portal pages (home, job list, job detail, companies)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:42:37 +08:00
TianyangZhang
734c83b7fe
feat: initialize Vue3 frontend with router, pinia, element-plus
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:37:09 +08:00
TianyangZhang
619ca19f87
fix: prevent IDOR in application status update endpoint
...
Replace class-level queryset attribute with get_queryset() method that
scopes Application objects to the requesting admin's organization,
preventing regular admins from modifying applications belonging to
other organizations via pk enumeration.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:31:31 +08:00
TianyangZhang
0ccd943255
feat: add Application model with status tracking and email notifications
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:46:14 +08:00
TianyangZhang
cc39c22e87
feat: add Resume model with JSONB fields and file upload
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:43:24 +08:00
TianyangZhang
f5d753d441
fix: fix jobs view filter backend and defensive queryset
...
- Replace inline __import__ with proper DjangoFilterBackend import
- Add SearchFilter to JobPublicViewSet filter_backends
- Add defensive check for missing organization_id in get_queryset
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:41:58 +08:00
TianyangZhang
f228ff0697
feat: add Job model with search/filter and role-based access
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:39:58 +08:00
TianyangZhang
cc2cd40532
fix: fix organizations view queryset and add API tests
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:37:54 +08:00
TianyangZhang
7e089bd5ec
feat: add Organization model with tree structure
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:34:56 +08:00
TianyangZhang
c3466f4866
feat: add custom User model with role-based permissions
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:11:40 +08:00
TianyangZhang
4cee7e9569
chore: add pytest configuration for Django tests
2026-03-24 17:06:18 +08:00
TianyangZhang
b19c29e24f
fix: correct settings module references and code quality issues
...
- Fix asgi.py and wsgi.py to point to config.settings.development
- Move timedelta import to top of base.py (PEP 8)
- Add STATIC_ROOT to base.py
- Add Redis OPTIONS with timeout config
- Add dev-only comments for ALLOWED_HOSTS and CORS_ALLOW_ALL_ORIGINS
2026-03-24 17:05:36 +08:00
TianyangZhang
82da70de0d
fix: set default DJANGO_SETTINGS_MODULE to development
2026-03-24 17:03:11 +08:00
TianyangZhang
f34b1cb000
feat: initialize Django backend project structure
...
Sets up Django 4.2 project skeleton with split settings (base/development),
JWT auth via simplejwt, DRF, CORS, PostgreSQL, Redis cache config, and
.gitignore. Apps (accounts, organizations, jobs, resumes, applications)
to be created in subsequent tasks.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:01:28 +08:00
TianyangZhang
a5959f9a5b
docs: add recruitment website implementation plan
2026-03-24 16:50:58 +08:00
TianyangZhang
06878975b7
docs: add recruitment website design spec
2026-03-24 16:32:40 +08:00