Gerenciador-Consultas

Aplicativo para gerenciar consultas para a matéria de Engenharia de Software(BCC3004)

Produção:

Conta de Admin:

admin@admin.com 11235813

Tecnologias

Back-End:

  • Spring Framework 🍃
    • Spring Web
    • Spring Data JPA
    • Spring Security
  • Maven 🪶
  • PostgreSQL 🐘
  • JWT Token 🪙
  • Docker 🐋

Front-End:

  • Next.ts
    • React Hook Form + Zod
    • Axios
  • Tailwind CSS
  • Material UI

Deploy:

  • AWS RDS (Banco de dados)
  • Render (Back-end)
  • Vercel (Front-end)

Next JS Spring

Padrão de projeto

O Spring Framework utiliza vários padrões de projeto para oferecer flexibilidade, modularidade e extensibilidade. Abaixo estão alguns dos principais:

Padrão Singleton:

  • Por padrão, os beans no Spring são gerenciados como singletons. Ou seja, o container Spring cria apenas uma instância de um bean e a reutiliza sempre que necessário.

Padrão Factory:

  • O Spring utiliza o padrão de fábrica (Factory) para a criação de objetos. O BeanFactory e ApplicationContext são exemplos de fábricas que criam e gerenciam os beans.

Padrão Proxy:

  • O Spring utiliza proxies, especialmente em funcionalidades como transações, segurança e AOP (Programação Orientada a Aspectos). O padrão proxy permite adicionar comportamento adicional aos objetos de forma transparente.

Execução

A aplicação está configurada para execução em Docker, minimizando surpresas. Para isso, o frontend e o backend foram separados em containers distintos. Abaixo estão os comandos necessários para executar cada parte:

OBS: Em alguns casos, pode ser necessário executar o Docker como root.

Frontend

cd frontend
npm install
npm run dev

Backend

cd backend
docker-compose up

Participantes

João Victor Briganti de Oliveira

Fernando Roberto Delbone

Victor Hugo Brito Silva

Matheus Floriano Saito da Silva