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.

Member Profile Page

When a person logs in to the application, they are taken to their personal profile page. This comprehensive dashboard displays all of their information and provides easy access to manage their account and membership.

Profile Sections

Profile Picture

Members can upload a profile picture to personalize their account. The picture appears prominently at the top of the profile and helps identify the member in the system. If no picture is uploaded, a default avatar icon is shown. To add or change a profile picture:
  1. Click “Edit Profile”
  2. Upload an image file (JPEG, PNG, etc.)
  3. The system automatically resizes images to appropriate dimensions
  4. Save the profile

Personal Information

This section displays the member’s core information:
  • Name: First and last name
  • Volunteer Status: Badges indicating if the member is a volunteer or mentor
  • Interests: Astronomy interests such as “astrophotography,” “solar system,” “deep sky,” etc.
  • Notes: Personal notes or additional information about the member
  • Referral: How the member heard about the organization (website, friend, school, etc.)
  • Astrobin Profile: Link to the member’s Astrobin account for viewing astrophotography
  • Telescopius Profile: Link to the member’s Telescopius account
  • Discord ID: Member’s Discord identifier (visible to admins only)
  • Groups: Organizations, committees, or special interest groups the member belongs to
Groups Display:
  • Regular members see only “joinable” groups (groups they can opt into themselves)
  • Administrators see all groups assigned to the member
  • Groups appear as clickable badges that link to the group’s detail page

Contact Information

Displays all contact methods on file for the member:
  • Email: Primary email address (clickable to send email)
  • Phone: Phone number (clickable to dial on mobile devices)
  • Address: Full mailing address including street, city, state, and ZIP code
Members can have multiple contact entries (for example, work and home addresses). The primary contact is clearly marked with a badge.

Skills and Volunteer Interests

For members who have indicated interest in volunteering or mentoring, this section showcases their skills:
  • Skill Cards: Each skill is displayed with details including:
    • Skill name (e.g., “Telescope Operation,” “Public Speaking,” “Photography”)
    • Skill level (rated 1-5 or custom scale)
    • Whether they’re willing to volunteer using this skill
    • Whether they’re willing to mentor others in this skill
    • Any notes about their experience or availability
  • Badges: Members marked as volunteers or mentors display special badges in their profile
Managing Skills: Members can add, edit, or remove skills through the profile editor. They can indicate:
  • Their proficiency level in each skill
  • Willingness to volunteer
  • Willingness to mentor others
  • Specific notes about how they’d like to contribute
This system helps the organization match volunteers with opportunities and identify mentors for new members.

Membership History

A complete chronological record of all memberships:
  • Member Since: Date of first membership (displayed in the section header)
  • Duration: Start and end dates for each membership period
  • Type: Membership type (individual, family, student, etc.)
  • Donation Amount: Any additional donation made with the membership
  • Ephemeris Subscription: Whether the member opted for printed newsletter delivery
  • Status: Active memberships are highlighted in green with an “Active” badge
  • Lifetime Memberships: Clearly marked as “LIFETIME” with no end date
The table shows all historical memberships in chronological order, making it easy to see membership continuity and renewal history.

Donation History

If the member has made donations, this section displays:
  • All cash and equipment donations
  • Donation dates and values
  • Equipment items donated with descriptions
  • Links to detailed donation records
This provides a complete record of the member’s contributions to the organization.

Profile Actions

Edit Profile

The “Edit Profile” button allows members to update:
  • Personal information (name, contact details)
  • Profile picture
  • Interests and astronomy preferences
  • Referral information
  • Astrobin and Telescopius usernames
  • Discord ID
  • Volunteer and mentor status
  • Skills and skill levels
  • Group memberships (for joinable groups)
  • Contact information (add, edit, or remove contacts)
All changes are saved to the database and immediately reflected in the profile view.

Renew Membership

The “Renew Membership” button appears when:
  • The member’s current membership is expiring soon
  • The member’s membership has expired
Clicking this button takes the member to the renewal payment page where they can:
  • Select membership term (6 months, 12 months, etc.)
  • Add an optional donation
  • Opt-in for printed Ephemeris delivery
  • Complete payment via PayPal

Membership Status Alert

If a membership is inactive or expired, a prominent warning banner appears at the top of the profile with a direct link to renew.

Admin-Only Features

When an administrator views a member’s profile, they see additional options:

Email Actions

  • Welcome Email: Send a welcome email to the member (useful for new members or resending information)
  • Renewal Reminder: Send a membership renewal reminder email

Admin Panel

A special admin section at the bottom of the profile includes:
  • Delete Person: Remove the member from the database (requires confirmation)
  • Access to all group assignments (not just joinable groups)
  • Visibility of Discord ID and other technical identifiers

Privacy and Access Control

Member Access:
  • Members can only view and edit their own profile
  • Members cannot see other members’ profiles
  • Members can only join “joinable” groups themselves
Administrator Access:
  • Administrators with “read” permission can view all member profiles
  • Administrators with “write” permission can edit all member profiles
  • Administrators with “write” permission can add members to any group
  • Only administrators with “permit” permission can manage other administrators

Groups

Groups are brief descriptors that can be assigned to people. A person can have many different groups. Each group can be used to denote any number of different things. For example, we can identify officers and position holders with groups. We could also choose to identify membership in our Google Groups as a group assigned to each person. Each group comes with a description and an email address, for cases where a group represents some larger group that we have an email address for (i.e. imagers Google Group). Groups 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.