Effireg - the Effi membership register ============================================================================= This will become a web-based membership register for the Effi - Electronic Frontier Finland association (). It may some day be useful for others as well. Effitool ----------------------------------------------------------------------------- See for the command line tool for this. Architecture and documentation ----------------------------------------------------------------------------- See the website for architecture and other documentation. Facade API ----------------------------------------------------------------------------- The facade will have an API like this: * `POST /memb` — add a member * `GET /memb` — get specific member * `PUT /memb` — update a member * `DELETE /memb` — remove a member * `GET /search` — search for members All operations require an access token from Qvisqve. The Muck header conventions are used for metadata. A member's information looks like: { "fullname": "James Bond", "email": "007@example.com", "member-number": "7", "hometown": "London" } Actually, currently any JSON object will work, but this will change eventually. Resource types in Muck ============================================================================= * `member` contains all non-authentication information about an Effi member * references `subject` resource id * contains full name, membership number, home town, email address There may later be authentication related resources in Muck, but for now, Qvisqve stores them a different way. Authentication ----------------------------------------------------------------------------- For the demo I will create subjects in Qvisqve manually. Later on, Effireg will create subjects itself, and provide a way to generate a per-subject unique URL which authenticates the subject without a password. Effectively a password reset link. Legalese ============================================================================= While effi-reg itself is under the AGPL3+ license, a copy of which is included as `COPYING` in the source code of this program, this license does NOT apply to clients of the HTTP API it provides. Copyright 2018-2019 Lars Wirzenius This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see .