Skip to content

A web application for managing board meetings, featuring agenda creation, member notifications, and minute generation. Built with React, Node.js, and Firebase, using design patterns like Proxy, Template Method, and Strategy for scalability.

Notifications You must be signed in to change notification settings

EngSteven/software-design-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Board Meeting Management System

Project Overview

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.


Key Features

Phase 1: Conceptualization

  • 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.

Phase 2: Implementation

  • MVC architecture for separation of concerns.
  • Modules for:
    • Board member management.
    • Meeting creation and agenda configuration.
    • Invitations and quorum tracking.
    • Minute generation (PDF).

Phase 3: Scalability

  • 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).

Technologies Used

  • Frontend: React, CSS, HTML, JavaScript.
  • Backend: Node.js, Express.
  • Database: Firebase (NoSQL).
  • Deployment: Netlify (Frontend), Render (Backend).
  • Version Control: GitHub.

Team Members

  • Steven Sequeira
  • Andrey Ureña
  • Jerson Prendas
  • Mariela Solano

About

A web application for managing board meetings, featuring agenda creation, member notifications, and minute generation. Built with React, Node.js, and Firebase, using design patterns like Proxy, Template Method, and Strategy for scalability.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages