You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Felix Albrigtsen 0b2ef1a4f8 Reindent user/index.php and include search 7 months ago
docs Initial upload, docker environment 8 months ago
phpdocker Initial upload, docker environment 8 months ago
src Reindent user/index.php and include search 7 months ago
utils Initial upload, docker environment 8 months ago
.gitignore Initial upload, docker environment 8 months ago
README.md Initial upload, docker environment 8 months ago
dev.sh Initial upload, docker environment 8 months ago
docker-compose.yml Initial upload, docker environment 8 months ago

README.md

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.

The database can be administered with adminer.

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?
  • ...