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 .