Overview
The Activity Management feature enables associations to organize, schedule, and track their regular activities and events. Activities represent recurring sessions (like weekly classes, workshops, or meetings) with assigned monitors, specific time slots, and locations. This module provides comprehensive tools for scheduling activities throughout the week, assigning responsible monitors, linking activities to projects, and managing activity lifecycles.Key Functionality
Activity Scheduling
Create activities with specific days of the week, start/end times, and locations
Monitor Assignment
Assign association members as activity monitors with automatic user lookup
Project Integration
Link activities to one or more projects for comprehensive project management
Smart Search
Find activities by name, monitor, location, or day of the week with weighted scoring
User Interface Workflow
The activity management interface (Actividades.vue) provides an intuitive workflow:Activity List View
- Search Bar: Real-time search across activity name, monitor, location, and day
- Pagination: Display 10 activities per page with navigation controls
- Activity Cards: Expandable items showing:
- Summary: Activity name and assigned monitor
- Details: Full activity information including schedule, location, and linked projects
Activity Operations
All activity operations require
monitor or admin role authentication.- Click “Agregar Actividad” button
- Fill in ActivitySchema form fields:
- Activity name
- Location (lugar)
- Day of week (diaSemana)
- Start time (horaInicio) and end time (horaFin)
- Monitor selection (idMonitor)
- Optional: Associate with projects (projectIds)
- Optional: Icon for visual representation
- Click edit button on activity card
- Modify activity details
- Update project associations
- System validates time fields and saves changes
- Click delete button
- Confirm deletion in modal
- Activity removed from system
- When search returns 1-2 results, details automatically expand
- Improves user experience for targeted searches
Data Model
Activities are stored in theActivity entity:
Key Fields
- id: Primary key, auto-generated
- name: Activity name (e.g., “Yoga Class”, “Board Meeting”)
- place: Location where activity takes place
- horaInicio/horaFin: Time range in
HH:MMformat (type: time) - diaSemana: Day of the week (e.g., “Lunes”, “Martes”)
- icon: Optional Material Symbols icon name for UI display
- idMonitor: Foreign key to Usuarios table
- monitor: Related Usuarios entity (monitor/instructor)
API Endpoints
All endpoints require JWT authentication withmonitor or admin roles.
GET /activities
Retrieve all activities with their associated monitor information.POST /activities
Create a new activity.horaInicioandhoraFinare required- Times must be in valid format
- Monitor must exist in Usuarios table
PUT /activities/:id
Update an existing activity.id: Activity ID (number)
DELETE /activities/:id
Delete an activity.id: Activity ID (number)
GET /activities/Monitors
Retrieve list of available monitors (users who can supervise activities).GET /activities/Projects
Retrieve list of projects for activity association.Search Implementation
The activity search uses intelligent scoring in Actividades.vue:Frontend Workflow Details
Creating an Activity
The frontend implements validation and data transformation:Editing Activities
When editing, the system pre-populates project associations:Use Cases
Weekly Activity Schedule
- Create activities for each day of the week
- Assign monitors to oversee each activity
- Set specific time slots (e.g., “Yoga: Lunes 10:00-11:30”)
- Define location for each activity
- Members can view complete weekly schedule
Project-Linked Activities
- Create or edit an activity
- Enable project association (asociarProyecto)
- Select one or more projects from dropdown
- Activity appears in project’s activity list
- Project tracks all linked activities automatically
Monitor Assignment
- Select monitor from Usuarios list when creating activity
- System stores idMonitor foreign key
- Monitor name displayed on activity cards
- Search by monitor name to find all their activities
Schedule Conflicts
- Search by day of week (e.g., “Lunes”)
- View all activities for that day
- Check time slots to avoid conflicts
- Adjust times or locations as needed
Integration with Other Features
- Member Management: Monitors are selected from the Usuarios table with monitor role
- Projects: Activities can be associated with projects via
activityIdsfield - Configuration: Activity data feeds into association statistics and reporting
Display Components
The activity details are rendered using:Related Documentation
- Projects - Learn how to link activities to projects
- Member Management - Understand monitor role assignment
