|
|
||
|---|---|---|
| static | ||
| tests | ||
| .aws | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| README.md | ||
| compose.yaml | ||
| icon.webp | ||
| server.py | ||
README.md
Bravo Team Forever Interest
A small single-page app for collecting class and role rankings and content interests from a group. It uses Python's standard library and SQLite; there are no package dependencies. Every username uses the shared password galnik by default.
Run with Docker
docker compose up --build -d
Open http://localhost:8000. Preferences are stored in the named Docker volume preferences_data, so they survive container rebuilds. To use a different shared password, set SHARED_PASSWORD in a local .env file or in the environment before starting Compose.
Run locally
python3 server.py
Open http://127.0.0.1:8000. The SQLite database is created at data/preferences.sqlite3. You can change this with PREFERENCES_DB, and change the listening address or port with HOST and PORT.
How it works
- Similar existing login usernames are suggested as you type, before entering the shared password. The name already entered is never suggested. The password is still required to sign in. A similar new username requires an explicit choice to create it. Login username matching ignores case.
- Rank the WoW Forever classes and roles you want to express a preference for. Drag a row, use its arrow buttons, or focus the drag handle and press the arrow keys. Select × to leave a category unranked, or select Rank to add it to your ranking. You can leave every category unranked. For Content, choose Yes, Maybe, or No for each of the seven activities. Save each property separately.
- Open Group preferences to see everyone's saved choices. Class and Role can display columns by rank or category. Unranked choices appear as blank cells and sort after ranked choices; people who have not submitted that property appear last. Content always displays category columns. Select a column to sort, search by login username, or refresh to load recent changes.
- Open Account to change your login username, which is also the name shown to the group. Login usernames must be unique. Your preferences and active sessions remain tied to your account when you rename it. You can also permanently delete your account, preferences, and sessions by typing your login username to confirm.
Databases from the version with separate display names are migrated automatically; existing login usernames become the names shown to the group. Databases using the earlier preproduction username-only schema still require a fresh database.
The shared password does not verify who owns a username: anyone who knows it can sign in using another person's username. If this is exposed beyond a trusted group, serve it over HTTPS and set COOKIE_SECURE=1.
This rollout only collects and displays preferences. Assignment and optimization are planned for a later rollout.