hackerbase/doc/specification.md

83 lines
1.8 KiB
Markdown

Organization Specification
==========================
The specification of how the organization handles membership fees is
completely wrapped inside the specification module. Some other
organization-specific modules are also included here.
Modules
-------
### Specification
(import specification)
This module contains organization specificaiton in an extensible
format.
member-fees-lookup-table
A period lookup table for full and reduced membership fees. Used by
```lookup-member-fees``` and - more specifically -
```lookup-member-fee``` functions in the ```members-fees``` module.
exchange-rates-lookup-table
A period lookup-table for CZK/EUR conversion. Used by the
```lookup-eur-rate``` function in the ```members-payments``` module.
member-suspend-max-months
Determines how many months the member can be suspended before any
action is required.
### Primes
(import primes)
A very simple module for generating and checking 4-digit prime numbers.
(is-4digit-prime? n)
* ```n``` - a number
Returns true if the given number ```n``` has four digits and it is a
prime number.
(gen-all-4digit-primes)
Returns a list of all 4-digit prime numbers.
### Configuration
(import configuration)
The exact behavior of some algorithms in other modules can be changed
via configuration parameters in this global configuration module.
This module also handles configuration file loading.
(*etc-hackerbase* path)
* ```path``` - path to file with configuration
Used by ```load-configuration!``` to load the system-specific default
configuration values.
*members-directory*
*apikeys-file*
*checked-file*
*bank-dir*
*email-from*
*summary-mailto*
*dokuwiki*
(load-configuration!)
Loads configuration from ```(*etc-hackerbase*)``` file.