hackerbase/README.md

88 lines
2.2 KiB
Markdown

BrmBuro
=======
Brmlab Bureaucratic system.
License
-------
ISC License
Copyright 2023 Brmlab, z.s.
Dominik Pantůček <dominik.pantucek@trustica.cz>
Permission to use, copy, modify, and/or distribute this software
for any purpose with or without fee is hereby granted, provided
that the above copyright notice and this permission notice appear
in all copies.
THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Features
--------
* members base management
* member files parsing and validation
* member ids validation
* generating new member id
* information about active, suspended, destroyed and student members
* current status
* historical data
* detailed member information
* querying members by id or nick
* bank account statements processing
* loading Fio CSV
* member fees payment pairing
* member fees management
* totals: fees, credit, payments
* computing member balance
* generating static web output for member pages in dokuwiki
* exporting brmdoor cards lists
Requirements
------------
There are no additional libraries required, it is possible to build
binary that requires only libc.
Build requirements:
* Chicken Scheme 5
* make (tested with GNU make)
Runtime requirements:
* POSIX.1 shell (for Fio account statements downloader)
* wget (for Fio)
* git (for members directory queries)
* POSIX.1 mail utility configured to send emails from local system
Building
--------
Building static binary:
make static
It is possible to run the main tool as script with Chicken Scheme
interpreter and POSIX-compatible shell for the purpose of development.
Development requirements:
* POSIX shell
Preparing module import files for running as script:
make
Cleaning the built files from the build directory:
make clean