Skip to main content

Overview

People and Memberships are the core of this application. A person is stored as a record in a people table in the database. A person must have a unique email address to sign up or otherwise manage their own memberships and information. Every time a person makes a payment to begin or renew their membership, we log the information about their payment and the term of the membership. This allows us to accrue the full history of a person’s memberships and payments, and to ensure uninterrupted membership. Note that we can record information about important people who are not members, like key contacts with our partners. These people can easily be distinguished from members and other people through their roles and membership information. Each person will use their email address and a password to sign in. Existing members will not have a password, but can use their email address to receive a password reset email, and then sign in with the password of their choice. This allows people to manage all of their information that they choose to share with us, view the status of their membership, and renew their memberships. Having this information properly associated to each person reduces the need for members to re-enter all of their contact information whenever they renew, and makes for a smoother overall membership experience. Some people may not wish to manage another password, and we will provide convenient and secure ways to renew memberships without needing to sign in. More on that in the following sections.

Person Dashboard

When a person logs in to the application, they will be presented with a page that displays the information that they’ve previously submitted to us. This includes contact information, interests, and a host of other optional information. A person has the option to edit any of this information at any time, and our records will remain in sync. A person can also see the status of their membership, and are presented with the option to renew if their membership has expired.

Roles

Roles are brief descriptors that can be assigned to people. A person can have many different roles. Each role can be used to denote any number of different things. For example, we can identify officers and position holders with roles. We could also choose to identify membership in our Google Groups as a role assigned to each person. Each role comes with a description and an email address, for cases where a role represents some larger group that we have an email address for (i.e. imagers Google Group). Roles are flexible and can be used in whatever way is convenient.

Signup Flow and Renewal Flow

Online

The method to sign up for the first time and to renew a membership are similar. They both start with a person logging into their own account with their email address. An account already exists for every member in the club, but if they have never logged in before, they need to reset their password. Instructions on how to do this are on the login page. Similarly, new members will click the sign up button on the login page, and receive an email with a link to set their password and continue the sign up process. This confirms that the email provided belongs to the correct person. It is intended to weed out bots and ensure that we can communicate with the new member at the given address. Once logged in, a person can edit their profile or renew their membership by clicking the appropriate buttons at the top of their profile. After clicking the renew button, the person will be taken to the payment screen.
New members will be directed to the payment screen automatically. On this screen will be details about any currently active memberships, along with a form to create a new membership (whether renewal or first-time, it looks the same). The form displays the estimated start and end date of this new membership, along with the cost. There is an option to donate an extra amount, as well as opt-in for printed copies of The Ephemeris newsletter. Payment is handled by PayPal via the buttons on the page.
Once payment is confirmed, members are redirected to their profile page, where they can optionally share more information with us. Successful payment also triggers a welcome email that has details about the confirmed transaction, and important information about how to access the club’s resources.

Offline

We also accept memberships through the mail or in person. To record these memberships in the database, an admin needs to find or create the account for the new member via the People dashboard. Once the appropriate account is identified the admin should edit the profile of that account. On this page, an admin will see a section for “Memberships.” In this section, an admin can create a new Membership, and fill in details like the start date, and Epehemeris subscription. The admin can optionally enter other information provided by the prospective member. Saving the profile will apply the new membership in the database.

Database Representation

People have the following attributes and relations: A person has…
  • One first_name and one last_name
  • An internal id
  • Optional extra information, like…
    • Associated astrobin data (username, latest image id)
    • A discord_id
  • One or more contact objects that contain:
    • An address
    • An email
    • A phone number
    • An indicator if this is primary contact information or not
  • Zero or more interests (such as: “solar system,” “astrophotography,” etc)
  • Zero or one referral (i.e. website, search, school, other)
  • Zero or more donations each containing one or more items (or cash)
See the database page for more information.