Case Study

Doolittle Lake Club – Private Members Portal

Project Goal: Build a secure, members-only community portal with role-based access, document management, calendar, weather, and newsletters.

Client

Doolittle Lake Club

Technologies

  • WordPress
  • Bootstrap 5
  • Webpack 5
  • Gutenberg Blocks
  • PHP
  • MySQL
  • SASS
  • FullCalendar
  • Google Calendar API
  • OpenWeatherMap API
  • Google Tag Manager
  • REST API
  • WP-Cron

Context

Doolittle Lake Club is a private lake community in Norfolk, Connecticut. The club needed a secure, members-only website where shareholders and members could read club documents, check the community calendar, browse member directories, manage inventory and receive newsletters. Everything sits behind a login, and what each person sees depends on their role.

The Challenge

The site had to serve two user groups, members and shareholders, with different access levels. Shareholders needed access to financial documents, property records, and parcel information that members shouldn’t see. The platform also needed live weather, a community calendar synced with Google Calendar, secure document downloads, newsletters targeted by role and self-service profiles. All of it had to stay easy to use for members who are not technical.

What We Built

Member Access Control

  • Custom WordPress roles: Member and Shareholder, with multi-role support (users can hold both)
  • Page-level access restrictions: shareholder-only content hidden from regular members
  • Role-aware navigation: menu items automatically hidden based on user role
  • Custom login flow with branded login form, password reset, and post-login redirect
  • Admin dashboard locked for non-admin users, admin bar hidden

Document Management

  • Two document types: Club Documents (accessible to all members) and Owner Documents (shareholders only)
  • Organized by category and year taxonomies with sidebar filtering
  • Secure file downloads: base64-encoded paths, a check that the user is logged in, and forced downloads with the correct MIME type
  • File-type icons for PDF, Excel, Word, ZIP, and PowerPoint

Community Features

  • Member Directory: a searchable accordion with contact details; admins see additional fields
  • Shareholder Directory: property details, parcel IDs, map and lot numbers, and stock information
  • Inventory Management: a custom content type for tracking community assets by category, location and owner
  • Local Listings: community classifieds that members post themselves, filtered by category
  • Self-service profile editing: members update their contact details and shareholders manage their property details

Calendar & Weather

  • Google Calendar integration via FullCalendar v6, with event details in a modal window, ICS export and links to Google Calendar
  • Real-time weather widget in the top bar, using the OpenWeatherMap API with custom SVG icons: temperature (°F/°C), humidity, wind speed and direction, cached for two minutes

Newsletter System

  • Custom newsletter content type with role-based targeting: all users, shareholders only, members only or admins only
  • Batch email processing via WP-Cron (25 emails per batch with throttling)
  • Personalized emails with user name replacement and branded HTML template
  • Send logging with timestamps, duplicate prevention, and archived HTML

Custom Gutenberg Blocks

  • More than 15 custom Gutenberg blocks: section, row, column, display, background, accordion (with FAQ schema), button (with secure download support), latest-posts (role-filtered), latest-documents, hero-slideshow, login-form, menu-selector
  • 5 metadata blocks for managing post, page, inventory, document, and listing meta from the editor

Results

Members and shareholders now find club documents, directories, the calendar, weather, newsletters and community listings in one private portal, and each person sees only what their role allows. The club’s administrators manage content, newsletters and member records themselves in WordPress. Newsletters are sent by the site in batches, so the club needs no separate mailing service.

WPlook Studio hosts the portal on WPL Hosting and maintains it.