See also: DEVELOPING.md for general development setup and PROJECT_REQUIREMENTS.md for system architecture.
This guide explains how to add adult activities to the Der Town "Things to Do" page.
The "Things to Do" page currently combines:
- Kid Activities - From the
kid_activitiesdatabase table - Adult Activities - Hardcoded in
src/pages/things-to-do.astro
The kid_activities table can handle adult activities by setting appropriate age ranges:
INSERT INTO kid_activities (
name,
description,
activity_type,
participation_type,
min_age,
max_age,
cost,
website,
is_ongoing,
is_fall,
is_winter,
is_spring,
is_summer,
status,
active
) VALUES (
'Recreational Softball League',
'Co-ed recreational softball league for adults. Games played on weekday evenings.',
'Sports',
'Recreational',
18,
NULL,
'$50 per season',
'mailto:dertownleavenworth@gmail.com',
true,
false,
false,
true,
true,
'approved',
true
);For quick additions, you can add activities to the adultActivities array in src/pages/things-to-do.astro:
const adultActivities = [
// ... existing activities ...
{
id: 'adult-new-activity-1',
name: 'New Adult Activity',
description: 'Description of the new activity.',
activity_type: 'Sports', // or 'Arts', 'Community', etc.
participation_type: 'Recreational', // or 'Competitive', etc.
min_age: 18,
max_age: null,
cost: 'Free', // or '$XX', 'Sliding scale', etc.
website: 'mailto:dertownleavenworth@gmail.com', // or actual URL
sponsoring_organization: { name: 'Organization Name', website: null },
location: { name: 'Location Name', address: 'Address' },
is_ongoing: true, // or false
is_fall: false, // or true
is_winter: false, // or true
is_spring: true, // or false
is_summer: true, // or false
children: [],
is_adult: true
}
];Supported activity types:
Sports- General sports activitiesGymnastics- Gymnastics and tumblingMartial Arts- Martial arts and self-defenseClimbing- Rock climbing and boulderingCycling- Biking and cycling activitiesWinter Sports- Skiing, snowboarding, etc.Aquatics- Swimming and water activitiesArts- Visual arts and craftsMusic- Music lessons and performancesDance- Dance classes and performancesTheater- Theater and dramaScouting- Scouting organizationsSocial- Social and community groupsAcademic- Educational activities
Supported participation types:
Recreational- Casual, non-competitiveCompetitive- Competitive leagues and teamsTryouts Required- Requires tryouts or auditionsAudition Required- Requires auditionsDrop-in- Drop-in participation allowed
min_age: 18, max_age: null- Adults only (18+)min_age: 16, max_age: null- Teens and adults (16+)min_age: null, max_age: null- All ages
Set the appropriate boolean fields:
is_ongoing- Year-round activitiesis_fall- Fall activities (September-November)is_winter- Winter activities (December-February)is_spring- Spring activities (March-May)is_summer- Summer activities (June-August)
- Separate Adult Activities Table - Create a dedicated
adult_activitiestable - Admin Interface - Add adult activities management to the admin panel
- Activity Submission Form - Allow public submission of adult activities
- Advanced Filtering - Add filters for skill level, cost, location, etc.
- Calendar Integration - Link adult activities to the calendar system
{
id: 'adult-softball-1',
name: 'Recreational Softball League',
description: 'Co-ed recreational softball league for adults. Games played on weekday evenings.',
activity_type: 'Sports',
participation_type: 'Recreational',
min_age: 18,
max_age: null,
cost: '$50 per season',
website: 'mailto:dertownleavenworth@gmail.com',
sponsoring_organization: { name: 'Der Town Recreation', website: null },
location: { name: 'Enchantment Park', address: 'Leavenworth, WA' },
is_ongoing: true,
is_fall: false,
is_winter: false,
is_spring: true,
is_summer: true,
children: [],
is_adult: true
}{
id: 'adult-soccer-1',
name: 'Pickup Soccer',
description: 'Casual pickup soccer games for adults. All skill levels welcome.',
activity_type: 'Sports',
participation_type: 'Recreational',
min_age: 18,
max_age: null,
cost: 'Free',
website: 'mailto:dertownleavenworth@gmail.com',
sponsoring_organization: { name: 'Der Town Recreation', website: null },
location: { name: 'Enchantment Park', address: 'Leavenworth, WA' },
is_ongoing: true,
is_fall: true,
is_winter: false,
is_spring: true,
is_summer: true,
children: [],
is_adult: true
}