Navigation & URL Structure

Overview

Nigall uses predictable URL prefixes per Django app. Event-scoped URLs always include both numeric event ID and 6-character event tag (e.g., /events/42/GKKILK/).

Purpose

Help users bookmark correct paths, build internal runbooks, and integrate deep links without broken routes.

Who should use it

  • Organizers and operations staff
  • Support and customer success
  • Developers building integrations

Benefits

  • Consistent /events/<pk>/<event_tag>/ pattern across modules
  • Clear separation of global hubs vs event-scoped management
  • Easier troubleshooting when sharing links

Global entry points

Label URL App
Home (redirect) //events/ events
Event list /events/ events
Discover /events/discover/ events
Discover nearby /events/discover/nearby/ events
Discover popular /events/discover/popular/ events
My Events /events/my-events/ events
Create Event /events/create/ events
Organizer Dashboard /events/dashboard/ events
Tools Hub /events/tools/ events
Pricing /pricing/ users
Django Admin /admin/ Django

Authentication

Label URL
Sign up /accounts/signup/
Sign in /accounts/login/
User profile /users/profile/

Per-app hubs

Module Hub URL
Attendees /attendees/
Payments /payments/my-payments/
Communications /communications/
Program /program/
Speakers /speakers/
Exhibitors /exhibitors/
Vendors /vendors/
Sponsors /sponsors/
Talent /talent/
Venues /events/venues/
Volunteers /events/volunteers/

Event-scoped pattern

/events/<int:pk>/<slug:event_tag>/<action>/

Examples:
- Detail: /events/42/GKKILK/
- Edit: /events/42/GKKILK/edit/
- Guest list: /events/42/GKKILK/guests/
- Module setup: /events/create/42/setup/attendees/


Prerequisites

  • Authenticated session for organizer/management URLs
  • Valid pk + event_tag pair (tag is uppercase alphanumeric, 6 chars)

Step-by-step — Find any event management URL

  1. Open event → View Event.
  2. Note URL: /events/<pk>/<tag>/.
  3. Append module suffix from tables below.
  4. For module hubs, start from /events/tools/ and follow event-specific links.

Field descriptions

Component Description
pk Integer primary key of Event
event_tag 6-char slug, auto-generated, uppercase
step Module setup wizard key: exhibitors, vendors, attendees, sponsors, speakers, program, volunteers

Business rules

Rule Detail
Tag required URLs with wrong tag return 404
Host shortcuts Event detail shows host action buttons
Plan gating Tools hub cards hidden without subscription
Staff is_staff sees admin review URLs

Validation rules

  • event_tag must match stored value on event record
  • Private events require host/staff for management URLs

User permissions

Management URLs require event.host == request.user or is_staff unless noted as public (Discover, public program).


Workflow

flowchart TD Tools[/events/tools/] --> Hub[Module hub] Hub --> EventPick[Select event] EventPick --> Scoped[/events/pk/tag/module/] MyEvents[/events/my-events/] --> Detail[/events/pk/tag/] Detail --> Edit[/events/pk/tag/edit/]

Event-scoped URL reference

Feature URL
RSVP /events/<pk>/<tag>/rsvp/
Guest list /events/<pk>/<tag>/guests/
Attendee registrations /attendees/events/<pk>/<tag>/registrations/
Check-in dashboard /attendees/events/<pk>/<tag>/checkin/
Program /program/events/<pk>/<tag>/
Speaker dashboard /speakers/events/<pk>/<tag>/dashboard/
Exhibitor booths /exhibitors/events/<pk>/<tag>/booths/
Vendor stalls /vendors/events/<pk>/<tag>/stalls/
Sponsor pipeline /sponsors/events/<pk>/<tag>/pipeline/
Volunteers /events/<pk>/<tag>/volunteers/
Analytics (attendees) /attendees/events/<pk>/<tag>/analytics/

Examples

Share registration link: /attendees/register/42/GKKILK/

Staff check-in station: /attendees/events/42/GKKILK/checkin/scan/

Best practices

  • Always copy links from View Event to ensure correct tag
  • Use Tools hub for cross-event module work
  • Bookmark Organizer Dashboard for multi-event ops

Tips

  • Event lookup: /events/lookup/ for search by title/tag
  • API base: /api/mobile/v1/ and /api/v1/ (talent)

Common mistakes

Mistake Result Fix
URL with ID only 404 Include event_tag
Lowercase tag May fail Use uppercase tag from event
Old tag after clone Broken link Use new instance URL

FAQs

Why two identifiers?
Human-shareable tag plus stable numeric ID for APIs and admin.

Where is the dashboard?
/events/dashboard/ (organizer), not /events/organizer/ (docs alias — actual route is organizer_dashboard at /events/dashboard/).

Troubleshooting

Symptom Cause Fix
404 on event URL Wrong tag Copy from event detail
Module link missing Toggle off or plan gate Enable module; upgrade plan

Screenshot placeholders

  • [SCREENSHOT: Tools hub with module cards]
  • [SCREENSHOT: Event detail host action bar]
  • [SCREENSHOT: Browser URL bar showing pk and tag]

Administrator notes

  • Reverse name events:organizer_dashboard/events/dashboard/
  • Configure ALLOWED_HOSTS and HTTPS for production deep links

Developer/API notes

Prefix Purpose
/api/mobile/v1/ JWT mobile API
/api/v1/accounts/<uuid>/ Talent CRM REST
/payments/webhook/ Stripe webhooks
/communications/webhooks/ses/ Email delivery events

Related: Roles & Permissions · Platform Overview