Features and Systems

This page explains features across all three systems of the Event Locator:

  1. Base System
  2. Event Curation System
  3. Search System

Features are grouped together by which one of the three user groups they impact:

  • Families
  • Program Providers
  • GRASA and Monroe County Staff

Families

Search for different events.

  • Status: Implemented
  • Technology decision: Haystack, Whoosh
  • Relevant domain(s): Database
  • Summary of approach: Use Django Haystack to search the database of events using a keyword match search.
  • Completion criteria:
    • Unauthenticated user runs successful search query to return results about after-school programs in an area.
    • Information is provided if it exists; the user is informed if it does not exist.

Apply filters to better discover events that interest a user.

  • Status: Implemented
  • Technology decision: Haystack, Django Forms, Jinja
  • Relevant domain(s): Database
  • Summary of approach: Create Haystack search filters that mirror metadata we save in our database.
  • Completion criteria:
    • Unauthenticated user alters search query by choosing from a list of preset filters.
    • More detailed information is discovered in search when filters are displayed.

Find information to learn more about a specific event.

  • Status: Implemented
  • Technology decision: Django Forms, Jinja
  • Relevant domain(s): Database, front-end
  • Summary of approach: Create a unique, addressable page for every event by pulling data from the database and injecting it into front-end HTML with Jinja inclusions.
  • Completion criteria:
    • Unauthenticated user is able to navigate to an event’s unique page from search UI.
    • Any user can share a direct link to event page details with another user.

Program Providers

Add new events with specific metadata into system for approval by administrators.

  • Status: Implemented
  • Technology decision: Django Forms
  • Relevant domain(s): Full stack
  • Summary of approach: Create Forms to validate user input and create new events in the events database table.
  • Completion criteria:
    • Provider is able to log into application.
    • Provider submits new event for review with required details:
      • Title
      • Description
      • Website
      • Address
      • Suggested age groups
      • Activity type
      • Etc.

Update information for existing events in system for approval by administrators.

  • Status: Implemented
  • Technology decision: User authentication modules provided in Django, Django Forms for basic user input
  • Relevant domain(s): Full stack
  • Summary of approach: Allow an authenticated user to edit Forms for events they themselves have created.
  • Completion criteria:
    • Provider is able to log into application.
    • Provider edits an existing event that they already contributed.
    • Event re-enters review queue for admin users.

GRASA and Monroe County Staff

Review and approve submitted events.

  • Status: Implemented
  • Technology decision: User authentication modules provided in Django, Django Forms for managing event data, email (via Mailgun)
  • Relevant domain(s): Full stack
  • Summary of approach: A status field in the database will be edited for an event depending if it is pending review, approved, or rejected; only approved events appear on the public site.
  • Completion criteria:
    • Admin is able to log into application.
    • Admin is able to edit a pending event and change its status (approved or rejected).
    • Provider is emailed when their event status is changed.

Confirm new provider accounts.

  • Status: Implemented
  • Technology decision: User authentication modules provided in Django, email (via Mailgun)
  • Relevant domain(s): Back-end, database
  • Summary of approach: Allow anyone to self-register on the website using Django Forms to gather information about the user and saving the User object to the database when registration process completes.
  • Completion criteria:
    • Admin is able to log into application.
    • Registered user is able to log in as a provider once admin confirms user’s registration.

All users

Mobile-friendly user interface.

  • Status: Implemented
  • Relevant domain(s): Front-end
  • Summary of approach: Ensure web application appears correctly on modern smartphones and mobile devices by manual QA testing.
  • Completion criteria:
    • Core functionality works smoothly on mobile device as it does computing device.