# Admin Panel
Admin Panel - BNKops Map - Interactive canvassing web-app & viewer

## Campaign Dashboard

Overview of campaign metrics and statistics

### Total Locations

-

### Overall Score

-
out of 4.0

### Signs Delivered

-

### Total Users

-

### Support Level Distribution

### Sign Sizes Requested

### Daily Entries (Last 30 Days)

## NocoDB Database Links

Quick access to all NocoDB database views and sheets for data management.

#### 💡 About NocoDB

Everything inside Map can be automated through NocoDB and N8N, which can be accessed as applications through the Homepage. You can expand the fucntions of Map extensively, including build whole new application functions.

NocoDB is the database backend that powers this application. Use these links to directly access and manage your data in the NocoDB interface.
NocoDB Documentation N8N Documentation

### 📊 Data View

Primary

Main database view for all location and campaign data

Open Data View

### 👥 Login Sheet

Users

Manage user accounts and authentication settings

Open Login Sheet

### ⚙️ Settings Sheet

Config

Configure application settings and preferences

Open Settings Sheet

### 📅 Shifts Sheet

Schedule

Manage volunteer shifts and scheduling

Open Shifts Sheet

### 📝 Shift Signups

Volunteers

View and manage volunteer shift signups

Open Shift Signups

## Listmonk Email Management Links

Quick access to all Listmonk email management interfaces for campaign communications.

#### 📧 About Listmonk

Listmonk is the email marketing platform that powers campaign communications. Use these links to directly access and manage your email lists, campaigns, and subscribers through the Listmonk interface.

The Map application automatically syncs data to Listmonk email lists based on support levels and sign requests.
Listmonk Documentation GitHub Repository

### 🏠 Dashboard

Main

Main Listmonk dashboard with overview and analytics

Open Dashboard

### 📋 Email Lists

Lists

Manage email lists and subscriber segments

Open Lists

### 📧 Campaigns

Email

Create and manage email campaigns

Open Campaigns

### 👤 Subscribers

People

View and manage email subscribers

Open Subscribers

### ⚙️ Settings

Config

Configure Listmonk settings and SMTP

Open Settings

## Map Start Location

Set the default center point and zoom level for the map when users first load the application.

Latitude
Longitude
Zoom Level

💡 Tip: Navigate the map to your desired location and zoom level, then click "Use Current Map View" to capture the coordinates.

## Walk Sheet Configuration

Design and configure printable walk sheets for door-to-door canvassing.

### Sheet Information

Sheet Title
Subtitle
Footer Text

### QR Codes

Add up to 3 QR codes for quick access to digital resources.

#### QR Code 1

URL
Label

#### QR Code 2

URL
Label

#### QR Code 3

URL
Label

### Preview

8.5" x 11" format

## Shift Management

Create and manage volunteer shifts.

### Create New Shift

Title
Description
Date
Start Time
End Time
Location
Max Volunteers

### Existing Shifts

### Manage Volunteers

####

#### Add Volunteer

Select User:

#### Current Volunteers

Sending Shift Details...
✓ 0 sent
✗ 0 failed
⏳ 0 pending
0%

## User Management

Create and manage user accounts for the application.

### Create New User

Email
Name
Phone Number
Password
User Type
Expires After (days) Account will auto-delete after this many days
Is Admin (Legacy - use User Type instead)

### All Users

Loading users...
No users found.

### Email All Users

Subject
Message
Use the toolbar above to format your message
Show email preview

#### Email Preview:

Subject: Your subject will appear here
Your message will appear here

Recipients: Loading... users will receive this email

Sending Emails...
✓ 0 sent
✗ 0 failed
⏳ 0 pending
0%

## Map Cuts

Create and manage polygon overlays for the map. Cuts can be used to define areas like wards, neighborhoods, or custom regions.

### Existing Cuts

Import

### Cut Properties

Name *
Category
Description
Visible on public map
Official cut
Show locations on map

#### Filter Locations

Support Level:
Lawn Sign:
Sign Size:
Contact Info:

#### Statistics

Total Locations: 0
Support Level 1: 0
Support Level 2: 0
Has Lawn Signs: 0
Has Email: 0
Has Phone: 0

#### Cut Settings

Show locations on map
Enable data export
Assigned to:
Completion: %
0
Color:
Opacity: 30%

## Convert Data

Upload a CSV file containing addresses to geocode and import into the map.

#### Geocoding Provider Status

🔄 Checking provider availability...

### CSV Upload

📁

Drag and drop your CSV file here or click to browse

Selected file:

Size:

#### CSV Requirements:

##### Required Column:

- address - The street address to geocode (case-insensitive)

##### Optional Columns (any of these names will work):

First Name:

- first name
- firstname
- first_name

Last Name:

- last name
- lastname
- last_name

Email:

- email

Phone:

- phone

Unit Number:

- unit
- unit number
- unit_number

Support Level (1-4):

- support level
- support_level

Sign (true/false):

- sign

Sign Size (Regular, Large, Unsure)

- sign size
- sign_size

Notes:

- notes

##### File Specifications:

- Maximum file size: 10MB
- Column names are case-insensitive
- Extra columns will be ignored

##### Example CSV Format:

    address,first name,last name,email,phone,support level,notes
    "123 Main St, Edmonton, AB",John,Doe,john@example.com,780-555-0123,2,Interested in campaign
    "456 Oak Ave, Edmonton, AB",Jane,Smith,jane@example.com,780-555-0456,1,Strong supporter

📄 Download Sample CSV

### Processing Progress

0 / 0 addresses processed

#### Preview Results

Status | Original Address | Geocoded Address | Coordinates | Provider
--- | --- | --- | --- | ---

### 🔍 Scan & Geocode Database

Scan your existing database for records that are missing location data and automatically geocode them.

#### What this does:

- Scans all records in your database
- Finds records with addresses but no geo-location data
- Automatically geocodes those addresses using the same multi-provider system
- Updates records with coordinates, confidence scores, and provider information
- Provides detailed progress tracking and error reporting

#### ⚠️ Important Notes:

- This will modify existing records in your database
- Only processes records that have an address but no coordinates
- Rate limited to be respectful to geocoding APIs (0.5 seconds between requests)
- You can download a detailed report when completed

### Database Scan Progress

#### Phase 1: Database Scan

Scanning database for records...

0 / 0 addresses geocoded

#### Scan Summary

Total Records: 0
Need Geocoding: 0
Successfully Geocoded: 0
Failed: 0

#### Recent Results

Status | Address | Coordinates | Confidence | Provider
--- | --- | --- | --- | ---

## Email List Management (Listmonk)

Manage email list synchronization with Listmonk for campaign communications.

### Sync Status

Connection: Checking...
Auto-sync: Checking...
Last Error: None

### Sync Actions

Force synchronization of all data to Listmonk email lists:

### Sync Progress

### About Email List Sync

#### Automatic Lists Created:

- Map Locations - All: All contacts with email addresses
- Map Users - All: All system users
- Support Level 1-4: Segmented by support level
- Has Campaign Sign: Contacts with signs
- Wants Campaign Sign: Contacts wanting signs (from notes)

#### Real-time Sync:

- New locations automatically sync to appropriate lists
- Updates are reflected immediately in email lists
- Deletions remove contacts from all lists
- Sync failures are logged and shown in status

#### Contact Data Synced:

- Email, name, phone, address
- Support level, sign status, notes
- Geographic coordinates
- Source tracking (map_location/map_user)

#### Troubleshooting:

- Check Listmonk service is running
- Verify credentials in environment variables
- Use "Test Connection" to verify setup
- Check logs for detailed error information