Full-stack deployment verification — February 8, 2026
| # | Feature | Endpoint | Status | Notes |
|---|---|---|---|---|
| 1 | Health Check | GET /api/health | PASS | {"status":"healthy","service":"kolamba-api"} |
| 2 | Categories | GET /api/categories | PASS | 10 categories returned (Music, Literature, Comedy, etc.) |
| 3 | Artists List | GET /api/artists | PASS | 0 artists visible (all pending approval — correct behavior) |
| 4 | Tours | GET /api/tours | PASS | 0 tours (fresh database) |
| 5 | Communities | GET /api/communities | PASS | 0 communities (fresh database) |
| 6 | Cloudinary Status | GET /api/uploads/status | PASS | {"configured":true,"service":"cloudinary"} |
| 7 | API Documentation | GET /api/docs | PASS | Swagger UI loads successfully |
| # | Feature | Endpoint | Status | Notes |
|---|---|---|---|---|
| 8 | Community Registration | POST /api/auth/register | PASS | Returns access_token and refresh_token |
| 9 | Community Login | POST /api/auth/login | PASS | OAuth2 form-urlencoded format, returns tokens |
| 10 | Get Current User | GET /api/auth/me | PASS | Returns user profile with role, artist_id, community_id |
| 11 | Artist Registration | POST /api/auth/register/artist | PASS | Returns tokens, creates artist with pending status |
| 12 | Artist Login | POST /api/auth/login | FIXED | Was using random temp password; now uses user-provided password |
| 13 | Google OAuth | POST /api/auth/google | N/A | Endpoint exists, Google Cloud project not yet configured |
The register_artist endpoint previously generated a random
temp_password = secrets.token_urlsafe(16) and stored its hash,
ignoring the password provided by the user. Fixed in commit
5da6874
to use the user-provided password for self-registration, falling back to a
temp password only for agent submissions.
| # | Test | Status | Notes |
|---|---|---|---|
| 14 | Pending artists hidden from public list | PASS | 3 artists registered, 0 visible in GET /api/artists |
| 15 | Admin-only access to artist management | PASS | Non-admin gets "Superuser access required" |
| # | Test | Endpoint | Status | Notes |
|---|---|---|---|---|
| 16 | Conversations inbox (community) | GET /api/conversations | PASS | Returns empty array (no bookings/conversations yet) |
| 17 | Conversations inbox (artist) | GET /api/conversations | PASS | Returns empty array (no bookings/conversations yet) |
| # | Page | URL | HTTP | Status |
|---|---|---|---|---|
| 18 | Homepage | kolamba.vercel.app/ | 200 | PASS |
| 19 | Login | kolamba.vercel.app/login | 200 | PASS |
| 20 | Artist Registration | kolamba.vercel.app/register/artist | 200 | PASS |
| 21 | Community Registration | kolamba.vercel.app/register/community | 200 | PASS |
| 22 | Artist Dashboard | kolamba.vercel.app/dashboard/artist | 200 | PASS |
| 23 | Community Dashboard | kolamba.vercel.app/dashboard/community | 200 | PASS |
| 24 | Admin Dashboard | kolamba.vercel.app/dashboard/admin | 200 | PASS |
| 25 | Artist Messages | kolamba.vercel.app/dashboard/artist/messages | 200 | PASS |
| 26 | Community Messages | kolamba.vercel.app/dashboard/community/messages | 200 | PASS |