418 lines
5.7 KiB
Markdown
418 lines
5.7 KiB
Markdown
# Spanglish Website – Functional Specification
|
||
|
||
## 1. Purpose
|
||
|
||
This document defines the functional behavior of the Spanglish website and admin system.
|
||
|
||
It specifies what the system must do, how users interact with it, and how core workflows operate.
|
||
|
||
---
|
||
|
||
## 2. User Roles
|
||
|
||
### 2.1 Public User
|
||
|
||
* Can browse the website
|
||
* Can view events
|
||
* Can book tickets
|
||
* Can join community channels
|
||
* Can contact organizers
|
||
|
||
### 2.2 Admin
|
||
|
||
* Full system access
|
||
* Manages events
|
||
* Manages users
|
||
* Manages payments
|
||
* Manages communications
|
||
* Manages settings
|
||
|
||
### 2.3 Organizer
|
||
|
||
* Manages assigned events
|
||
* Views attendees
|
||
* Sends event emails
|
||
* Manages check-in
|
||
|
||
### 2.4 Staff
|
||
|
||
* Access to check-in system
|
||
* Limited attendee viewing
|
||
|
||
### 2.5 Marketing
|
||
|
||
* Access to email tools
|
||
* Access to analytics
|
||
* Access to media library
|
||
|
||
---
|
||
|
||
## 3. Public Website Features
|
||
|
||
### 3.1 Homepage
|
||
|
||
The homepage must display:
|
||
|
||
* Hero section with next event
|
||
* Primary call-to-action button
|
||
* Brief description of Spanglish
|
||
* Photo gallery
|
||
* Community links
|
||
* Email signup form
|
||
* Contact information
|
||
|
||
Behavior:
|
||
|
||
* Automatically shows the next upcoming event
|
||
* Updates dynamically when events change
|
||
|
||
---
|
||
|
||
### 3.2 Events Listing Page
|
||
|
||
The events page must display:
|
||
|
||
* List of upcoming events
|
||
* List of past events
|
||
* Basic filtering by date
|
||
|
||
Each event card shows:
|
||
|
||
* Title
|
||
* Date
|
||
* Location
|
||
* Status
|
||
* Booking button
|
||
|
||
---
|
||
|
||
### 3.3 Event Detail Page
|
||
|
||
Each event page must include:
|
||
|
||
* Event title
|
||
* Description
|
||
* Date and time
|
||
* Location with map
|
||
* Price
|
||
* Available seats
|
||
* Booking button
|
||
* FAQ section
|
||
* Social sharing buttons
|
||
|
||
Behavior:
|
||
|
||
* Booking disabled when sold out
|
||
* Status shown when cancelled
|
||
|
||
---
|
||
|
||
### 3.4 Community Page
|
||
|
||
The community page must include:
|
||
|
||
* WhatsApp invite links
|
||
* Instagram link
|
||
* Participation guidelines
|
||
* Volunteer information
|
||
|
||
---
|
||
|
||
### 3.5 Contact Page
|
||
|
||
The contact page must include:
|
||
|
||
* Contact form
|
||
* Email address
|
||
* Social media links
|
||
|
||
Behavior:
|
||
|
||
* Form submissions stored in database
|
||
* Admin receives notification
|
||
|
||
---
|
||
|
||
## 4. Booking System
|
||
|
||
### 4.1 Booking Flow
|
||
|
||
1. User clicks "Join" on event page
|
||
2. Booking form is displayed
|
||
3. User enters personal details
|
||
4. User selects payment method
|
||
5. Payment is processed or recorded
|
||
6. Ticket is generated
|
||
7. Confirmation is sent
|
||
8. User appears in admin system
|
||
|
||
---
|
||
|
||
### 4.2 Booking Form
|
||
|
||
The booking form collects:
|
||
|
||
* Full name
|
||
* Email address
|
||
* Phone number
|
||
* Language preference (optional)
|
||
* Payment method
|
||
|
||
Validation:
|
||
|
||
* Email format check
|
||
* Required field validation
|
||
* Duplicate booking prevention
|
||
|
||
---
|
||
|
||
### 4.3 Ticket Generation
|
||
|
||
After successful booking:
|
||
|
||
* Unique ticket ID is generated
|
||
* Ticket linked to user and event
|
||
* QR code created (optional)
|
||
* Ticket stored in database
|
||
|
||
---
|
||
|
||
## 5. Payment Management
|
||
|
||
### 5.1 Supported Payment Methods
|
||
|
||
Initial support:
|
||
|
||
* Stripe / MercadoPago
|
||
* Bank transfer
|
||
* Cash (manual entry)
|
||
|
||
Future support:
|
||
|
||
* Lightning
|
||
* Cashu
|
||
* Nostr payments
|
||
|
||
---
|
||
|
||
### 5.2 Payment Workflow
|
||
|
||
* Payment initiated during booking
|
||
* Payment status tracked
|
||
* Manual confirmation supported
|
||
* Refunds supported
|
||
|
||
Statuses:
|
||
|
||
* Pending
|
||
* Paid
|
||
* Refunded
|
||
* Failed
|
||
|
||
---
|
||
|
||
## 6. Admin Dashboard
|
||
|
||
### 6.1 Dashboard Overview
|
||
|
||
The main dashboard displays:
|
||
|
||
* Upcoming events
|
||
* Ticket sales
|
||
* Revenue summary
|
||
* Pending payments
|
||
* Alerts
|
||
|
||
---
|
||
|
||
### 6.2 Event Management Module
|
||
|
||
Features:
|
||
|
||
* Create event
|
||
* Edit event
|
||
* Publish event
|
||
* Archive event
|
||
* Duplicate event
|
||
|
||
Event fields:
|
||
|
||
* Title
|
||
* Description
|
||
* Date
|
||
* Time
|
||
* Location
|
||
* Price
|
||
* Capacity
|
||
* Banner image
|
||
* Status
|
||
|
||
---
|
||
|
||
### 6.3 Ticket Management Module
|
||
|
||
Features:
|
||
|
||
* View attendee list
|
||
* Search attendees
|
||
* Edit attendee info
|
||
* Manual ticket creation
|
||
* Cancel tickets
|
||
* Export CSV
|
||
* Check-in system
|
||
|
||
Check-in:
|
||
|
||
* Manual toggle
|
||
* QR scanning (optional)
|
||
* Timestamp logging
|
||
|
||
---
|
||
|
||
### 6.4 Payment Management Module
|
||
|
||
Features:
|
||
|
||
* View transactions
|
||
* Manual payment entry
|
||
* Refund processing
|
||
* Revenue reports
|
||
* Export financial data
|
||
|
||
---
|
||
|
||
### 6.5 Email & Messaging Module
|
||
|
||
Features:
|
||
|
||
* Email templates
|
||
* Mass mailing
|
||
* Automated reminders
|
||
* Event notifications
|
||
* Contact segmentation
|
||
|
||
Automated emails:
|
||
|
||
* Booking confirmation
|
||
* Event reminder
|
||
* Cancellation notice
|
||
* Post-event follow-up
|
||
|
||
---
|
||
|
||
### 6.6 Community Management Module
|
||
|
||
Features:
|
||
|
||
* User profiles
|
||
* Attendance history
|
||
* Notes system
|
||
* Tagging
|
||
* Segmentation
|
||
|
||
---
|
||
|
||
### 6.7 Media Management Module
|
||
|
||
Features:
|
||
|
||
* Upload images
|
||
* Organize galleries
|
||
* Assign images to events
|
||
* Homepage gallery management
|
||
|
||
---
|
||
|
||
### 6.8 Role & Permission Management
|
||
|
||
Features:
|
||
|
||
* Create roles
|
||
* Assign permissions
|
||
* Assign users to roles
|
||
* Audit access
|
||
|
||
---
|
||
|
||
## 7. Reporting & Analytics
|
||
|
||
The system must provide:
|
||
|
||
* Event attendance reports
|
||
* Revenue reports
|
||
* User growth reports
|
||
* Conversion metrics
|
||
* Email engagement statistics
|
||
|
||
---
|
||
|
||
## 8. Error Handling
|
||
|
||
The system must handle:
|
||
|
||
* Failed payments
|
||
* Overbooking attempts
|
||
* Network failures
|
||
* Invalid input
|
||
* Unauthorized access
|
||
|
||
Behavior:
|
||
|
||
* Display user-friendly messages
|
||
* Log technical errors
|
||
* Notify admins when critical
|
||
|
||
---
|
||
|
||
## 9. Notifications
|
||
|
||
System notifications include:
|
||
|
||
* New booking alerts
|
||
* Payment failures
|
||
* Low capacity warnings
|
||
* System errors
|
||
|
||
Delivery channels:
|
||
|
||
* Email
|
||
* Admin dashboard alerts
|
||
n
|
||
|
||
---
|
||
|
||
## 10. Audit Logging
|
||
|
||
The system must record:
|
||
|
||
* Admin actions
|
||
* Payment changes
|
||
* Event modifications
|
||
* User updates
|
||
|
||
Logs must include:
|
||
|
||
* Timestamp
|
||
* User ID
|
||
* Action type
|
||
* Target record
|
||
|
||
---
|
||
|
||
## 11. Accessibility
|
||
|
||
The public website must:
|
||
|
||
* Support mobile devices
|
||
* Provide readable fonts
|
||
* Support screen readers
|
||
* Maintain color contrast
|
||
|
||
---
|
||
|
||
## 12. Summary
|
||
|
||
This functional specification defines the operational behavior of the Spanglish platform.
|
||
|
||
All implemented features must comply with this document to ensure consistency, reliability, and scalability.
|