Registration portal for Pacific Yearly Meeting.
Data model/database model definitions:
- (user) account: someone who logs in to manage registrants
- registrant: someone who is registered for PYM by an account holder
- payment: online or offline payment, such as a check or online transaction
- allocation: all or part of a payment applied to one or more registrants
Data model constraints:
- registrant is not marked as paid until one or more payments have been allocated to cover the registration cost
- payments cannot be allocated to registrants in excess of payment amount
User interface
- registrar can manage all registrant, payment, and allocation records via the administration interface
- account can submit one or more registrant forms once logged in
- account will have a balance due which can be viewed when logged in
- sum of related registration costs registrants minus the sum of all allocations towards their registrants
- balance due can be paid online
In order to run and develop this code locally, you will need a few system-wide dependencies installed:
Once those dependencies have been installed, use the following steps to clone and initialize this project:
- clone this repository to a local folder on your computer
- in your terminal, change directory into the cloned project (where this README is located)
- install the project sourcecode dependencies with
poetry install
- activate the development environment with the command
poetry shell
- set up a local sqlite database with
python manage.py migrate
- create a superuser with
python manage.py createsuperuser
- run the server with
python manage.py runserver
- visit the site at https://localhost:8000/admin
- log in with your superuser account
From there, you browse around the Wagtail admin.
Changing existing code files should automatically refresh the server, but you may need to manually refresh browser pages to see the changes.
The following links are related to libraries/apps we have used to develop the site.
Wagtail CMS is the main content management system/developer framework. Wagtail is built on Django, which provides many common components for web applications.
The following Django apps were used to create the website user registration process: