(22 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 19: Linha 19:
== Requisitos Funcionais ==
== Requisitos Funcionais ==
<br>
<br>
=== Fase 1 - 2025-1 ===
<Br>
* RF01 - Cadastro e login de usuários (moradores, síndicos, porteiros)
<br>
* RF02 - Cadastro de condomínios, blocos, apartamentos
<br>
* RF03 - Registro de moradores por apartamento
<br>
* RF04 - Lançamento e controle de despesas mensais do condomínio
<br>
* RF05 - Geração e envio de boletos de cobrança por unidade
<br>
* RF06 - Agendamento de áreas comuns (salão de festas, churrasqueira etc.)
<br>
* RF07 - Comunicação entre moradores e síndico (avisos, notificações)
<br>
* RF08 - Registro de ocorrências (ex: barulho, vazamentos)
<br>
* RF09 - Gestão de documentos do condomínio (atas, regulamento interno)
<br>
* RF10 - Visualização de extrato financeiro do condomínio
<br>
* RF11 - Controle de inadimplência
<bR>
* RF12 - Painel administrativo para o síndico
<br>
=== Fase 2 - 2025-2 ===
<Br>


* RF01: Implementar flags
* RF01: Implementar flags
* RF02: Editar perfis
* RF02: Editar perfis
*RF03: Chat na ocorrência
*RF04: Implementar envio do token
<br>
<br>


== Requisitos Não-Funcionais ==
== Requisitos Não-Funcionais ==
<br>
* RNF01 - Segurança
** Autenticação via e-mail/senha, criptografia de senhas.
<br>
* RNF02 - Desempenho
** O sistema deve suportar até 1.000 usuários simultâneos sem perda de performance.
<br>
* RNF03 - Escalabilidade
** Arquitetura preparada para crescer horizontalmente com múltiplos servidores.
<br>
* RNF04 - Compatibilidade
** Disponível para dispositivos móveis e navegadores modernos
<br>
* RNF05 - Backup
** Cópias de segurança diárias dos dados no banco
<br>
<br>


== Melhores práticas ==
== Melhores práticas ==
<br>
<br>
async function getCondominiumId(userId) {
  const [rows] = await pool.query(
    "SELECT condominium_id FROM users WHERE id = ?",
    [userId]
  );
  return rows[0] ? rows[0].condominium_id : null;
}


= Evolução do projeto =
 
Usamos no nosso projeto funções pequenas e focadas, como a getCondominiumId, que aplicam conceitos de Clean Code e do Princípio da Responsabilidade Única.
Essas funções executam apenas uma tarefa específica, possuem nomes claros e mantêm a lógica bem organizada e isolada, o que torna o código mais simples de entender, mais fácil de manter e mais seguro de evoluir
 
= CRONOGRAMA =
<br>
<br>


{| class="wikitable"
{| class="wikitable"
|-
|-
! Item !! Data !! Condo Manager !! Realizado
! Item !! Data !! Atividades Condo Manager !! Realizado
| 1 || 14/11/2025 || Definir Proposta de Projeto ||
|-
|- 1
| 1 || 14/11/2025 || Definir Proposta de Projeto || 100%
| 2 || 14/11/2025 || Validar Visão do Usuário ||
|- 2
| 3 || 14/11/2025 || Especificar RFs e RNFs - Fase 2 ||
|- 3
| 4 || 14/11/2025 || Desenvolver RF Implementar flags ||
|- 4
| 5 || 17/11/2025 || Desenvolver RF Editar perfis ||
|- 5
| 6 || || Desenvolver 2o RF ||
|- 6
| 7 || || Desenvolver 3o RF ||
|- 7
| 8 || || Incrementar diferencial tecnológico ||
|- 8
| 9 || || Desenvolver 4o RF ||
|- 9
| 10 || ?? || Incrementar diferencial tecnológico ||
|- 10
|-
|-
| 2 || 14/11/2025 || Validar Visão do Usuário || 100%
|-
| 3 || 14/11/2025 || Especificar RFs e RNFs - Fase 2 || 100%
|-
| 4 || 14/11/2025 || RF01 - Implementar flags || 100%
|-
| x || 24/11/2025 || TeckWeek ||
|-
| 5 || 01/12/2025 || Melhores Práticas || 100%
|-
| 6 || 01/12/2025 || RF01 - Implementar flags || 100%
|-
| 7 || 01/12/2025 || RF02 - Editar perfis || 100%
|-
| 8 || 01/12/2025 || Discussão sobre RNFs Fase 1 || 100%
|-
| 9 || 15/12/2025 || 2a Entrega - Vídeo até 19/12 pelo Teams com RFs 1 e 2|| 100%
|-
| 10 || || RF03-  Chat na ocorrência || 100%
|-
| 11 || || Incrementar diferencial tecnológico ||
|-
| 12 || || RF04- Implementar envio do token  || 0%
|-
| 13 || ?? || Incrementar diferencial tecnológico ||
|-
| 14 || 19/12/2025 || Cliente aguardando vídeo demo ||
|-
|}
{| class="wikitable"
|-
! Item !! Data !! Atividades CondoManager !! Responsável
|-
| 1 || 09/02/2026 || xx ||
|-
| 2 || 23/02/2026 || xx ||
|-
| 3 || 02/03/2026 || xx ||
|-
| 4 || 09/03/2026 || xx ||
|-
| 5 || 16/03/2026 || xx ||
|-
|}
|}

Edição atual tal como às 20h56min de 9 de fevereiro de 2026

Fase 2


Escopo


  • Construir uma aplicação que facilite e automatize a administração de condomínios residenciais e comerciais, oferecendo funcionalidades como controle financeiro, registro de ocorrências, agendamento de áreas comuns, comunicação entre moradores e síndico, além da geração de boletos e controle de inadimplência
  • Foco total em transparência, eficiência e praticidade na gestão condominial.


Proposta de projeto


  • CondoManager é a solução para a gestão condominial, unificando em uma única plataforma todas as necessidades de comunicação e administração de condomínios. Desenvolvido para facilitar as atividades rotineiras de síndicos e moradores, o sistema permite o gerenciamento de reservas de áreas comuns, o envio de comunicados importantes e um módulo financeiro completo, que oferece a síndicos e moradores uma visão clara e controle prático das finanças do condomínio. Além disso, o software integra funcionalidades de segurança, como o controle de acessos e monitoramento por câmeras, tornando a gestão mais eficiente e tranquila para todos os envolvidos.
  • A plataforma garante que síndicos e moradores possam interagir e gerenciar o condomínio de qualquer lugar e a qualquer momento. Com uma interface intuitiva e fácil de usar, o CondoManager permite que os síndicos criem acessos, cobrem taxas e multas, e ainda ofereçam uma maneira prática para que os moradores registrem ocorrências ou relatem problemas. Tudo isso com o objetivo de promover uma gestão mais transparente, organizada e segura para todos.
  • Com o CondoManager, a experiência de viver em um condomínio torna-se mais eficiente e harmoniosa. A plataforma facilita o dia a dia, reduzindo a burocracia, melhorando a comunicação e promovendo maior segurança para todos os envolvidos. Além disso, ao otimizar processos internos, contribui para uma gestão mais ágil e eficaz, garantindo que todas as demandas sejam atendidas de forma ágil e satisfatória.


Requisitos Funcionais


Fase 1 - 2025-1


  • RF01 - Cadastro e login de usuários (moradores, síndicos, porteiros)


  • RF02 - Cadastro de condomínios, blocos, apartamentos


  • RF03 - Registro de moradores por apartamento


  • RF04 - Lançamento e controle de despesas mensais do condomínio


  • RF05 - Geração e envio de boletos de cobrança por unidade


  • RF06 - Agendamento de áreas comuns (salão de festas, churrasqueira etc.)


  • RF07 - Comunicação entre moradores e síndico (avisos, notificações)


  • RF08 - Registro de ocorrências (ex: barulho, vazamentos)


  • RF09 - Gestão de documentos do condomínio (atas, regulamento interno)


  • RF10 - Visualização de extrato financeiro do condomínio


  • RF11 - Controle de inadimplência


  • RF12 - Painel administrativo para o síndico


Fase 2 - 2025-2



  • RF01: Implementar flags
  • RF02: Editar perfis
  • RF03: Chat na ocorrência
  • RF04: Implementar envio do token


Requisitos Não-Funcionais


  • RNF01 - Segurança
    • Autenticação via e-mail/senha, criptografia de senhas.


  • RNF02 - Desempenho
    • O sistema deve suportar até 1.000 usuários simultâneos sem perda de performance.


  • RNF03 - Escalabilidade
    • Arquitetura preparada para crescer horizontalmente com múltiplos servidores.


  • RNF04 - Compatibilidade
    • Disponível para dispositivos móveis e navegadores modernos


  • RNF05 - Backup
    • Cópias de segurança diárias dos dados no banco


Melhores práticas


async function getCondominiumId(userId) {

 const [rows] = await pool.query(
   "SELECT condominium_id FROM users WHERE id = ?", 
   [userId]
 );
 return rows[0] ? rows[0].condominium_id : null;

}



Usamos no nosso projeto funções pequenas e focadas, como a getCondominiumId, que aplicam conceitos de Clean Code e do Princípio da Responsabilidade Única. Essas funções executam apenas uma tarefa específica, possuem nomes claros e mantêm a lógica bem organizada e isolada, o que torna o código mais simples de entender, mais fácil de manter e mais seguro de evoluir

CRONOGRAMA


Item Data Atividades Condo Manager Realizado
1 14/11/2025 Definir Proposta de Projeto 100%
2 14/11/2025 Validar Visão do Usuário 100%
3 14/11/2025 Especificar RFs e RNFs - Fase 2 100%
4 14/11/2025 RF01 - Implementar flags 100%
x 24/11/2025 TeckWeek
5 01/12/2025 Melhores Práticas 100%
6 01/12/2025 RF01 - Implementar flags 100%
7 01/12/2025 RF02 - Editar perfis 100%
8 01/12/2025 Discussão sobre RNFs Fase 1 100%
9 15/12/2025 2a Entrega - Vídeo até 19/12 pelo Teams com RFs 1 e 2 100%
10 RF03- Chat na ocorrência 100%
11 Incrementar diferencial tecnológico
12 RF04- Implementar envio do token 0%
13 ?? Incrementar diferencial tecnológico
14 19/12/2025 Cliente aguardando vídeo demo
Item Data Atividades CondoManager Responsável
1 09/02/2026 xx
2 23/02/2026 xx
3 02/03/2026 xx
4 09/03/2026 xx
5 16/03/2026 xx