Skip to content

InteliProjects/2023M7T1-Inteli-Grupo-3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grupo-3

Inteli - Instituto de Tecnologia e Liderança Stone pagamentos

Introdução

Este é o repositório dos arquivos dos alunos do Módulo 7 do curso de Ciência da Computação do Inteli no 3º trimestre de 2023. Durante este trimestre foi desenvolvido um projeto em parceria com a Stone.

Projeto: Aplicação escalável em sistemas distribuídos

Grupo: Ton Store

Integrantes:

Descrição

Este projeto aborda um desafio comum enfrentado por sites e aplicativos populares, especialmente durante os intervalos comerciais como do Big Brother Brasil (BBB). Durante esses momentos, muitas pessoas acessam o site e o aplicativo da nossa empresa, o que pode causar lentidão e até mesmo falhas no sistema. Nosso objetivo principal é garantir que o desempenho da aplicação seja consistente mesmo quando há um grande número de pessoas tentando usá-la ao mesmo tempo

Para resolver esse problema, estamos criando uma infraestrutura que pode se ajustar automaticamente ao aumento de tráfego. Estamos usando a tecnologia Kubernetes em um ambiente de nuvem (AWS) para garantir que a carga seja distribuída de forma eficiente entre os diferentes componentes do sistema.

Além disso, estamos criando um sistema de teste para simular esses momentos de alta demanda, usando a ferramenta "k6". Isso nos ajudará a garantir que a aplicação possa lidar com picos de tráfego sem problemas.

Documentação

Os arquivos da documentação deste projeto estão na pasta docs/index.md, e o seu conteúdo é publicado via GitHub Pages.

Artigo

O artigo deste projeto está no diretório artigo/artigo.md

Configurações para desenvolvimento

Este documento descreve as configurações necessárias para o desenvolvimento de uma aplicação que utiliza as tecnologias NestJS para o backend, Next.js para o frontend, RabbitMQ como serviço de mensagens e Docker para o gerenciamento de contêineres. A aplicação é composta por diversas partes que trabalham em conjunto para fornecer uma solução de software completa.

Tecnologias Utilizadas

NestJS (Backend)

NestJS é um framework Node.js que fornece uma estrutura escalável para o desenvolvimento de aplicativos server-side. Ele utiliza TypeScript como linguagem principal e é conhecido por sua modularidade, facilidade de testes e suporte a várias bibliotecas. No contexto dessa aplicação, o NestJS é responsável por gerenciar a lógica de negócios e a comunicação com o RabbitMQ para processamento de filas.

Next.js (Frontend)

Next.js é um framework de React que permite o desenvolvimento de aplicações web do lado do cliente e do servidor. Ele fornece recursos como renderização do lado do servidor (SSR) e geração de páginas estáticas, tornando as aplicações web mais rápidas e eficientes. O Next.js é responsável pela interface do usuário da aplicação e pela interação com o backend do NestJS.

RabbitMQ (Fila)

RabbitMQ é um sistema de mensagens de código aberto que facilita a comunicação assíncrona entre componentes de uma aplicação distribuída. Ele é amplamente utilizado para processar tarefas em segundo plano, processamento em fila e comunicação entre microserviços. Nesta aplicação, o RabbitMQ é usado para enfileirar e processar tarefas de forma eficiente.

Docker

Docker é uma plataforma de virtualização de contêineres que permite empacotar aplicativos e suas dependências em contêineres isolados. Isso facilita a implantação e execução de aplicativos em qualquer ambiente. Neste projeto, o Docker é usado para criar e gerenciar contêineres para o RabbitMQ e outros serviços auxiliares, simplificando o gerenciamento de dependências e ambientes de desenvolvimento.

Para executar a aplicação em seu ambiente de desenvolvimento, siga estas etapas:

  1. Certifique-se de ter as seguintes dependências instaladas em seu sistema:

  2. Clone o repositório do projeto para o seu ambiente local.

  3. Navegue até a pasta raiz do projeto.

  4. Execute o seguinte comando para iniciar os contêineres Docker que hospedam o RabbitMQ e outros serviços auxiliares:

    docker-compose up

    Este comando lerá as configurações do arquivo docker-compose.yml e iniciará os contêineres necessários.

  5. Agora, você pode iniciar o servidor NestJS e o cliente Next.js. Consulte a [documentação específica](docs/definição_da_aplicação.md] dessas partes da aplicação para obter detalhes sobre como iniciar cada um deles.

Tags

  • SPRINT 1:
    • Entendimento de Negócios
    • Entendimento do Usuário
    • MVP com deploy da aplicação com arquitetura básica
    • Requisitos do Sistema
  • SPRINT 2:
    • Arquitetura corporativa
    • Front-end concluído
    • Back-end concluído
    • Artigo V1
  • SPRINT 3:
    • Modelagem e Implementação.
    • Relatório Técnico
    • Artigo V2.
  • SPRINT 4:
    • Testes do sistema.
    • Definição da aplicação.
    • Artigo V3.
  • SPRINT 5:
    • Refinamentos da aplicação
    • Apresentação final
    • Artigo Completo

Licença

Application 4.0 International

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors