5.7 KiB
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
- User clicks "Join" on event page
- Booking form is displayed
- User enters personal details
- User selects payment method
- Payment is processed or recorded
- Ticket is generated
- Confirmation is sent
- 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:
- 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.