Difference between revisions of "Membermatters"
| (3 intermediate revisions by 3 users not shown) | |||
| Line 11: | Line 11: | ||
= github = | = github = | ||
* [https://github.com/sudoroom/MemberMatters/compare/db0724495a09731ec18db2ebe353931a08c256e2.. | * [https://github.com/sudoroom/MemberMatters/compare/db0724495a09731ec18db2ebe353931a08c256e2..d6ce52564e8ae64975690107efbc2f1907ac1fb8 the changes juul made to add sendmail as an option] | ||
* [https://github.com/sudoroom/MemberMatters/compare/d6ce52564e8ae64975690107efbc2f1907ac1fb8..00918eda47d88d090c29c976410ae8036579d7ea the changes rechner and jake made to build our docker for postgres] | |||
* [https://github.com/sudoroom/MemberMatters/tree/sudoroom we are using the sudoroom branch in our docker] | * [https://github.com/sudoroom/MemberMatters/tree/sudoroom we are using the sudoroom branch in our docker] | ||
* we also need to edit frontend/src/i18n/en-AU/index.ts to change "mobile number" to "Phone Number (or X)" (it builds to /usr/src/app/frontend/dist/spa/assets/index.*.js ) | * we also need to edit frontend/src/i18n/en-AU/index.ts to change "mobile number" to "Phone Number (or X)" (it builds to /usr/src/app/frontend/dist/spa/assets/index.*.js ) | ||
| Line 29: | Line 30: | ||
= certbot = | = certbot = | ||
* juul used pipx to install, and then had to manually make a systemd job to check it twice a day | * juul used pipx to install, and then had to manually make a systemd job to check it twice a day | ||
= Help us build and test = | |||
* prioritized bugs: https://github.com/orgs/sudoroom/projects/1/views/1 | |||
* submit a bug: https://github.com/sudoroom/MemberMatters/issues | |||
== Making a dev environment == | |||
(this assumes you already have git installed and docker setup!) | |||
# `cd` to a directory you want to put the repo | |||
# `git clone https://github.com/sudoroom/MemberMatters.git` | |||
# `git checkout -b branch-name` to make a new branch based of the default (sudoroom) | |||
# `touch /usr/app/django.log` (this is where the logs will go, and not creating it as a file seemed to create it as a dir which docker hated) | |||
# `cd ./docker` | |||
# `docker pull` (this make take a while) | |||
# `docker up -d` to start your docker image | |||
# `docker ps` will list your running containers processes that are created by the docker yaml file | |||
# `docker stop $(docker ps -q)` will stop all the containers by doing `docker stop` on all of the running containers (the -q flag lists by ID) | |||
==== where I got to/next steps ==== | |||
# doing all that, and then going to localhost:8000 takes me to the BMS login page instead of sudoroom's. possibly, since on my setup i ran `docker pull membermatters/membermatters` initially before following the rest of those setups, that is what broke it - i would think that the config files (the database?) would supercede that | |||
# there is also a dev.env file at the top of the repo that might be worth checking out. possible you could `docker run --env_file /path/to/dev.env` and it would use that env instead of the one in the [https://github.com/sudoroom/MemberMatters/blob/481e4bc8f4a3f614e05fcc98af74c9380c7a05a2/docker/docker-compose.yml#L33 docker-compose.yml] ? I don't know if there is a `docker compose` equivalent, need to keep poking at that | |||
= MEMBERSHIP PROCESS- DISCUSSION = | = MEMBERSHIP PROCESS- DISCUSSION = | ||
ivan & anca working on this | ivan & anca working on this | ||
martin and ivan talked a bit about this 2026-01-06: | |||
* subscription statuses can be: active (currently paying) / inactive (not paying) | |||
* member status can be: active (currently a member) / inactive (not a member, but possibly still paying as a dono or something) / new (unsure, maybe we use this as 'signed up, but still pending endorsements/waiting period? what's the order of operations?) / or account only (signed up but not paying/no payment info in MM) | |||
=== I want to become a member!! Onboarding Steps === | === I want to become a member!! Onboarding Steps === | ||
Latest revision as of 08:35, 7 January 2026
this is the notes for the membermatters installation
to create a new user
to check the logs from the docker instance
sudo less /var/lib/docker/containers/809f01cc9901740cc243b8772e479a6c50cb72e28cc81e307a6e4cd7bcfb0227/809f01cc9901740cc243b8772e479a6c50cb72e28cc81e307a6e4cd7bcfb0227-json.log- https://backers.sudoroom.org/logs/809f01cc9901740cc243b8772e479a6c50cb72e28cc81e307a6e4cd7bcfb0227-json.log
github
- the changes juul made to add sendmail as an option
- the changes rechner and jake made to build our docker for postgres
- we are using the sudoroom branch in our docker
- we also need to edit frontend/src/i18n/en-AU/index.ts to change "mobile number" to "Phone Number (or X)" (it builds to /usr/src/app/frontend/dist/spa/assets/index.*.js )
- we are working on mounting the docker image with git on the server, so we can make changes to production and try them
- we should set up a schedule for rebasing in changes from upstream, then shoving our changes back on top. then we can deploy to docker directly from our github fork
we are not spam
- emails sent by this system for people to validate their account, or reset their password, are important
- emails are being accepted by gmail (for now) but not by some other platforms, and maybe not for some gmail users?
- we should look for ways to find out why the emails are rejected by some servers
- we probably need to format the emails with plaintext and MIME to make them look normal to spam checkers
- Our server is postfix based, but yeah, postfix has very good logging on exactly what happens to each message. Though you as the sender can't know if it went into spam, only if it got outright rejected.
- emails to an MIT address were rejected by Microsoft: "Access denied, banned sending IP [198.199.116.180]. To request removal from this list please visit https://sender.office.com/ and follow the directions" and then Sean followed the directions and asked them to unblock our IP address
- we need to setup monitoring of emails that were outright rejected, and take action each time. Dealing with emails marked as spam will be more challenging unless people have access to the spam filter information on their receiving end.
- we need to encourage more and people to sign up to the new system as we make progress, AFTER setting up rejection monitoring
certbot
- juul used pipx to install, and then had to manually make a systemd job to check it twice a day
Help us build and test
- prioritized bugs: https://github.com/orgs/sudoroom/projects/1/views/1
- submit a bug: https://github.com/sudoroom/MemberMatters/issues
Making a dev environment
(this assumes you already have git installed and docker setup!)
- `cd` to a directory you want to put the repo
- `git clone https://github.com/sudoroom/MemberMatters.git`
- `git checkout -b branch-name` to make a new branch based of the default (sudoroom)
- `touch /usr/app/django.log` (this is where the logs will go, and not creating it as a file seemed to create it as a dir which docker hated)
- `cd ./docker`
- `docker pull` (this make take a while)
- `docker up -d` to start your docker image
- `docker ps` will list your running containers processes that are created by the docker yaml file
- `docker stop $(docker ps -q)` will stop all the containers by doing `docker stop` on all of the running containers (the -q flag lists by ID)
where I got to/next steps
- doing all that, and then going to localhost:8000 takes me to the BMS login page instead of sudoroom's. possibly, since on my setup i ran `docker pull membermatters/membermatters` initially before following the rest of those setups, that is what broke it - i would think that the config files (the database?) would supercede that
- there is also a dev.env file at the top of the repo that might be worth checking out. possible you could `docker run --env_file /path/to/dev.env` and it would use that env instead of the one in the docker-compose.yml ? I don't know if there is a `docker compose` equivalent, need to keep poking at that
MEMBERSHIP PROCESS- DISCUSSION
ivan & anca working on this
martin and ivan talked a bit about this 2026-01-06:
- subscription statuses can be: active (currently paying) / inactive (not paying)
- member status can be: active (currently a member) / inactive (not a member, but possibly still paying as a dono or something) / new (unsure, maybe we use this as 'signed up, but still pending endorsements/waiting period? what's the order of operations?) / or account only (signed up but not paying/no payment info in MM)
I want to become a member!! Onboarding Steps
- Hang Out, attend an event, join lists, discord
- I Like this! - Fill out the Intent to Join Form!!!
- Attend the next meeting, and get endorsements
- Get a mentor!!
Setup payment on Member Matters
- Create an account, verify via email
- I'm on Sudo Humans, what do I do?
- I use PayPal, or checks, or Bitcoin. What do I do?
Get door access
- Get an email?
- How many door access systems will we have?
Need to Setup, Immediate Actions
- Set up membership tiers
- Set up payment plans
Pain points: We need to fix these issues ... later
- need to check for verification email from member matters
- free accounts need billing info
- get access card process needs work
- members can see each others activities on member matters
- need to edit dashboard, landing page
- update welcome and alert emails