| Linha 67: | Linha 67: | ||
= kk= | = kk= | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Item !! Data !! Atividades Room Match !! Realizado | ! Item !! Data !! Atividades Room Match !! Realizado | ||
|- 1 | |- 1 | ||
| | | 1 || 14/11/2025 || Documentar tópico Investigação || | ||
|- 2 || || || | |||
| 2 14/11/2025 Definir Proposta de Projeto | |||
|- | |- 3 | ||
| 3 || 14/11/2025 || Validar Visão do Usuário || | |||
|- 4 || || || | |||
| 4 14/11/2025 Especificar RFs e RNFs - Fase 2 | |||
|- 5 | |||
| 5 || 17/11/2025 || Implementar visualização de detalhes || | |||
| 2 14/11/2025 Definir Proposta de Projeto | |- 6 || || || | ||
| 3 || 14/11/2025 || Validar Visão do Usuário || | | 6 Implementar match | ||
| 4 14/11/2025 Especificar RFs e RNFs - Fase 2 | |- 7 | ||
| 5 || 17/11/2025 || Implementar visualização de detalhes || | | 7 || || Desenvolver 3o RF || | ||
| 6 Implementar match | |- 8 || || || | ||
| 7 || || Desenvolver 3o RF || | | 8 Desenvolver 4o RF | ||
| 8 Desenvolver 4o RF | |- 9 | ||
| 9 || || Incrementar diferencial tecnológico || | | 9 || || Incrementar diferencial tecnológico || | ||
|- | |- | ||
|} | |} | ||
Edição das 21h39min de 20 de novembro de 2025
Fase 2
Escopo
- Desenvolver um sistema que facilite o encontro entre pessoas que estão à procura de um quarto para alugar e as que já possuem o quarto disponível para locação em seus imóveis
- A proposta é criar uma plataforma digital (via web) que funcione como um matchmaking de moradia, similar ao funcionamento de apps de relacionamento, com base em critérios como localização, orçamento, perfil de convivência e preferências pessoais
Requisitos Funcionais
[RF001] Implementar visualização de detalhes (quarto e perfil)
[RF002] Implementar match
Requisitos Não-Funcionais
Melhores práticas
Single Responsibility Principle - Responsabilidade Única
A classe class UserRepository(BaseRepository)
Possui métodos de responsabilidade única como mostrado abaixo:
def get_user_by_id(self, user_id: int) -> Optional[User]:
"""Busca um usuário pelo ID."""
stmt = select(User).where(User.id == user_id)
result = self.execute_stmt(stmt)
return result.scalar_one_or_none()
Essa função tem uma única responsabilidade que é obter o usuário do repositório não aplicando sobre o usuário nenhum tipo de regra de negócio ou modificação.
Open/Closed Principle - Aberto para Extensão, Fechado para Modificação
def soma(a, b):
return a + b
Liskov Substitution Principle - Substituição de Liskov
def soma(a, b):
return a + b
Interface Segregation Principle - Segregação de Interfaces
def soma(a, b):
return a + b
Dependency Inversion Principle - Inversão de Dependência
def soma(a, b):
return a + b
kk
| Item | Data | Atividades Room Match | Realizado |
|---|---|---|---|
| 1 | 14/11/2025 | Documentar tópico Investigação | |
| 2 14/11/2025 Definir Proposta de Projeto | |||
| 3 | 14/11/2025 | Validar Visão do Usuário | |
| 4 14/11/2025 Especificar RFs e RNFs - Fase 2 | |||
| 5 | 17/11/2025 | Implementar visualização de detalhes | |
| 6 Implementar match | |||
| 7 | Desenvolver 3o RF | ||
| 8 Desenvolver 4o RF | |||
| 9 | Incrementar diferencial tecnológico |