Mobile App

Overview

Nigall provides a JWT-based REST API at /api/mobile/v1/ for mobile clients covering authentication, Discover, event detail, RSVP, and ticket wallet—complementing the responsive web app.

Purpose

Support native or hybrid mobile experiences for browsing events, submitting RSVPs, and displaying tickets without reimplementing business logic.

Who should use it

  • Mobile app developers
  • Attendees using official/companion apps
  • QA testing mobile flows

Benefits

  • Token auth with /auth/login/ and /auth/me/
  • Discover and search parity with web catalog
  • Ticket list endpoint for wallet UI

Limitations: Survey questions not yet on mobile RSVP; full registration/checkout remains web-primary.


Web equivalents for testing:

Mobile endpoint Web equivalent
Discover /events/discover/
Event detail /events/<pk>/<tag>/
RSVP /events/<pk>/<tag>/rsvp/
Tickets /attendees/registrations/<pk>/ticket/

Prerequisites

  • Mobile client with JWT storage
  • User account for authenticated endpoints
  • RSVP-type events for mobile RSVP POST

Step-by-step — Mobile authentication

  1. POST /api/mobile/v1/auth/login/ with credentials.
  2. Store access token securely.
  3. GET /api/mobile/v1/auth/me/ to verify session.

Step-by-step — Browse and RSVP

  1. GET /api/mobile/v1/events/discover/ — paginated public events.
  2. GET /api/mobile/v1/events/<pk>/<tag>/ — detail (private events require auth as host).
  3. POST /api/mobile/v1/events/<pk>/<tag>/rsvp/ — RSVP payload (RSVP events only).
  4. GET /api/mobile/v1/tickets/ — user's tickets.

[SCREENSHOT: Mobile ticket wallet mock]


Field descriptions

Endpoint Auth Returns
auth/login No JWT tokens
auth/me JWT User profile
events/discover JWT Public events list
events/search JWT Search results
events/categories JWT Category facets
events/<pk>/<tag>/ JWT Event detail
events/<pk>/<tag>/rsvp/ JWT RSVP create/update
tickets/ JWT Registration tickets

Business rules

Rule Detail
RSVP only on API Registration checkout not in mobile API
Private events Detail restricted; host checks on server
Survey questions Not exposed on mobile RSVP yet
Token expiry Per JWT settings in deployment

Validation rules

  • Same RSVP capacity/waitlist rules as web
  • Invalid tag → 404

User permissions

JWT identifies user; server enforces same rules as web session.


Workflow

sequenceDiagram participant App participant API App->>API: POST auth/login API-->>App: JWT App->>API: GET discover App->>API: POST rsvp App->>API: GET tickets

Examples

iOS companion: Discover tab + ticket QR fullscreen.

Android: Push deep link to event detail API.

Best practices

  • Refresh token before event day
  • Cache ticket QR offline after fetch
  • Fall back to web for registration/payment

Tips

  • Categories endpoint for filter chips
  • Search query param on events/search/

Common mistakes

Mistake Result Fix
POST RSVP on registration event Error/wrong flow Open web registration
Missing survey on mobile Expected gap Use web for custom questions

FAQs

Full registration on mobile?
Not in current API — use web /attendees/register/.

Troubleshooting

Symptom Cause Fix
401 Expired JWT Re-login
Empty tickets No confirmed regs Complete web registration

Screenshot placeholders

  • [SCREENSHOT: Mobile discover list]
  • [SCREENSHOT: Mobile RSVP form]
  • [SCREENSHOT: QR ticket fullscreen]

Administrator notes

  • Configure CORS and JWT secret in production
  • Rate limit login endpoint

Developer/API notes

App: mobile_api
URLs: mobile_api/urls.py
Views: mobile_api/views.py


See also: Known Limitations