Add member profile questions, admin tooling, legal pages, and fast tests
- Add configurable profile questions with conditional visibility, admin-only fields, user answers, and seeded onboarding/volunteer questions
- Add admin UI for managing profile questions and member profile answers
- Add volunteer level/profile data support across backend schemas, models, API, and migration
- Update dashboard/profile UI, super admin menu, membership service types, and related styling
- Add privacy policy, terms of service, cookie notice, and footer links
- Add frontend Vitest coverage for profile question logic
- Add backend pytest coverage for profile answer normalization and validation
- Update restart.sh to build, run frontend/backend unit tests, and restart only after tests pass
- Refresh README, quickstart, project structure, instructions, and Square docs to match current app features
- Protect feature flag reload behind super-admin access
- Restrict admin-triggered password resets so admins can only reset member accounts
- Replace email template HTML preview rendering with escaped text preview
- Update docs for feature flag reload access, password reset scope, and email template preview safety
-- test user questions are also made by AI and not very useful. but i didn't know what to put there so its good enough for a test
This commit is contained in:
+37
-1
@@ -21,6 +21,20 @@ For Square payment form testing, use HTTPS at `https://localhost:8443`.
|
||||
Set `APP_TLS_PORT` in `.env` / `.env.example` to change `8443`.
|
||||
TLS certs are auto-generated by the gateway container on first start.
|
||||
|
||||
## Restart With Tests
|
||||
|
||||
Use the restart helper when you want to rebuild, run the fast test suite, and restart only after tests pass:
|
||||
|
||||
```bash
|
||||
./restart.sh
|
||||
```
|
||||
|
||||
It runs:
|
||||
- `docker compose run --rm frontend npm test`
|
||||
- `docker compose run --rm backend pytest -q`
|
||||
|
||||
The current tests cover frontend profile-question visibility/editability rules and backend profile-question answer normalization/validation. They are designed to complete quickly.
|
||||
|
||||
## Testing the API
|
||||
|
||||
### 1. Register a new user
|
||||
@@ -108,6 +122,26 @@ docker compose logs -f gateway
|
||||
1. Login as admin
|
||||
2. GET `/api/v1/users/`
|
||||
|
||||
### Manage profile questions (admin)
|
||||
1. Login as admin or super admin
|
||||
2. Open the dashboard Admin area
|
||||
3. Create, edit, deactivate, and order configurable profile questions
|
||||
4. Use dependencies to show questions only after a matching parent answer
|
||||
|
||||
### Edit member profile answers
|
||||
1. Members can update normal profile questions from the Questions dashboard tab
|
||||
2. Admin-only answers, such as verified training fields, must be updated by an admin
|
||||
|
||||
### Manage events and RSVPs
|
||||
1. Admins can create and edit events from the dashboard
|
||||
2. Members can view upcoming events and submit RSVP status
|
||||
3. Admins can view RSVP lists and attendance data
|
||||
|
||||
### Manage email templates and bounces
|
||||
1. Super admins can edit database-backed email templates; previews are shown as escaped HTML text
|
||||
2. SMTP2GO bounce webhooks are stored and visible in bounce management
|
||||
3. Bounce cleanup and manual deactivation are available through the API/admin screens
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Check service status
|
||||
@@ -143,4 +177,6 @@ docker compose up -d
|
||||
3. Create additional admin users
|
||||
4. Configure membership tiers as needed
|
||||
5. Test payment processing
|
||||
6. Customize email templates (coming soon)
|
||||
6. Customize email templates
|
||||
7. Configure profile questions for onboarding and volunteer data
|
||||
8. Use `./restart.sh` before deploying changes so frontend and backend unit tests run first
|
||||
|
||||
Reference in New Issue
Block a user