||1 year ago|
|export||1 year ago|
|src||1 year ago|
|.gitignore||1 year ago|
|Cargo.lock||1 year ago|
|Cargo.toml||1 year ago|
|LICENSE||1 year ago|
|README.md||1 year ago|
|config.toml.sample||1 year ago|
|screenshot.png||1 year ago|
Set of administration tools for 42l's infrastructure
This software is an interface customized to 42l's administrative needs. It is meant for internal use.
Though, you can see how do we manage our database and which tools we use to operate.
Because during a whole year, validating a subscription was done like this:
docker exec -it postgres-db psql <credentials> INSERT INTO "adhesions" (user_id, adh_date) VALUES (<user_id>, '<ex:2020-01-01>');
Silly, huh? After the 50th subscriber it was getting tiring, so here's a backend software to do exactly the same thing, but without writing SQL queries, and with a friendly interface.
We also need to watch out for mailbox activities easily and without harming our users' privacy, in order to react promptly if we get spammed ; so monitoring tools had been integrated into it.
- User management
- Display a user panel
- Display all information related to a user: adhesion status, number of mailboxes/aliases, subscription to our newsletter / general assembly letter, account state
- Edit max aliases/emails
- Add/remove a subscription (adhesion)
- Export an user's encrypted email
- Delete an user
- List all users (and display general statistics)
- Display a user panel
- Manage email accounts
- Scans mail logs and mail folders's disk usage
- Check disk usage per domain, per user and per mailbox
- Display the most active email addresses
- Which addresses sends and/or receives most of the mails, and how many mails
- Manage email domains
- Add email domains
- Add or remove allowed users for a domain
- Change a domain owner
- Toggle free access for a domain
- Manage newsletters
- Export encrypted addresses for newsletters, general assemblies and subscription expiry notices.
- Once extracted from the server, the exported files can be used with wassup, by setting
encrypted_adresses = truein the configuration file.
As it is now, it can't be used by other organizations to handle subscriptions. The mail monitoring feature might work, though.
I doubt this software will ever be compatible and reusable easily, because it has been especially made for 42l's infrastructure – and every single association manages subscriptions in their own way.
Currently the software takes approximately 2k lines of code.
The functions location (in files / folders) needs to be rearranged, the overall code quality isn't very good, even though clippy has been used to improve it a little.
Also, error handling is quite poor in this software, because it's meant for sysadmins and/or developers and we assume that they know what they do. If you are unsatisified with this, PRs are welcome.