This project is a web application designed to manage and streamline the workflow of board meetings for organizations (government, private, or NGOs). The system allows administrators to configure board members, create and schedule meetings, manage agendas, send invitations, conduct meetings, and generate minutes. In later phases, it extends functionality to board members, providing them with access to meeting details, notifications, and personalized views.
Developed as part of the IC6821 Software Design course at the Tecnológico de Costa Rica (First Semester, 2025), the project adheres to object-oriented design principles, architectural patterns (MVC, 4+1 views), and incorporates GRASP/SOLID principles. The final implementation includes structural and behavioral design patterns to enhance scalability and maintainability.
- SAD (Software Architecture Document) with 4+1 views (Scenarios, Physical, Implementation, Logic, Data).
- Paper Prototype for UI/UX validation.
- Web Stack Selection: React, Node.js, Express, Firebase, and more.
- MVC architecture for separation of concerns.
- Modules for:
- Board member management.
- Meeting creation and agenda configuration.
- Invitations and quorum tracking.
- Minute generation (PDF).
- New User Role: Board members (
MiembrosJD
) with authentication. - Creational Pattern: Singleton for global database configuration.
- Structural Pattern: Proxy for user auth validation.
- Behavioral Patterns:
- Template Method: Unified notification service (e.g., meeting convocations, task assignments).
- Strategy: For user rol control (admin and member).
- Observer (Extra): Notifications for assigned tasks.
- Dashboard: Filterable views for board members (e.g., assigned points, absences).
- Frontend: React, CSS, HTML, JavaScript.
- Backend: Node.js, Express.
- Database: Firebase (NoSQL).
- Deployment: Netlify (Frontend), Render (Backend).
- Version Control: GitHub.
- Steven Sequeira
- Andrey Ureña
- Jerson Prendas
- Mariela Solano