pvvmdb/README.md

71 lines
1.9 KiB
Markdown

# PVVMDB
## A new attempt to keep records of PVV members
The projects should keep track of some basic member information:
- Usernames of all existing users
- Basic contact information
- Membership payments
- Disk Quota payments
This will help us keep track of:
- Active and inactive members (based on payment of the membership fee)
- Total disk quota
- Date of registration
This information gives us the ability to lock inactive user accounts, and keep statistics of our userbase.
Locking inactive accounts is useful for security reasons and to incentivize actually paying the fee.
## Requirements
There are two recommended ways of running the application:
### Docker-compose / dev
The development environment is available through docker, as described below.
This includes a database and all required runtimes.
Requires:
- Docker
- Docker-compose
## Production / native
As the application is a normal PHP application, you will need:
- PHP (Tested with 8.2)
- A web server (e.g. nginx)
- php-pgsql
- A PostgreSQL server
## Development
The project is written in basic PHP, without external frameworks.
The dev environment is built with docker-compose, and contains a PostgreSQL database, php-fpm and nginx.
Start it by running `docker-compose up -d`.
You can then view the page at [localhost:3010](http://localhost:3010).
The database can be administered with [adminer](http://localhost:3010/adminer-4.8.1.php).
Some docs should probably be written in /docs
Some tools should probably be made in /utils
## TODO:
- Start Web interface
- Input methods:
- [ ] Web form
- [ ] Import from bank statements (PDF/CSV)
- [ ] Import from GNUCash
- Make admin system
- Save list of admins or integrate with www.pvv.ntnu.no/admin/
- Auth / login, one of:
- SSO with idp.pvv.ntnu.no
- PAM / Unix auth
- Integrate with PVV "New user" scripts
- Allow normal users to update their own contact info?
- ...