Skip to content

Aplicação frontend em Angular para gerenciamento de tarefas, integrando três microserviços que possibilitam operações CRUD completas, proporcionando uma experiência intuitiva e fluida para o usuário. Além disso, a qualidade do código é garantida por meio de testes unitários, utilizando Jasmine e Karma, que asseguram o seu funcionamento correto.

Notifications You must be signed in to change notification settings

GeovanaAugusta/todo-angular

Repository files navigation

FrontEnd Challenge Angular - Todo List

Este é um projeto fullstack criado como parte de um desafio de desenvolvimento. A aplicação é composta por um frontend desenvolvido em Angular que se comunica com três microserviços de backend, cada um responsável por diferentes aspectos do gerenciamento de tarefas, permitindo operações CRUD (Criar, Ler, Atualizar, Excluir).

Estrutura do Projeto

  • Frontend: Angular 18.2.6

Funcionalidades

A aplicação permite:

  1. Incluir: Adicionar novas tarefas ao sistema.
  2. Alterar: Atualizar as informações de uma tarefas existente.
  3. Excluir: Remover tarefas cadastradas.
  4. Ler: Exibir as tarefas cadastradas.

Instalação

Siga as etapas abaixo para configurar e rodar a aplicação localmente:

  1. Clone o repositório:

    git clone <git@github.com:GeovanaAugusta/fullstack-challenge-todo-angular.git>
    cd fullstack-challenge-todo-angular
  2. Instale as dependências:

    npm install
  3. Execute o servidor de desenvolvimento Angular:

    npm start

    O frontend estará acessível em http://localhost:4200.

  4. Certifique-se de que os microserviços de backend estão rodando nas seguintes portas:

  • Serviço de Tarefas: http://localhost:8000
  • Serviço de Usuários: http://localhost:8001
  • Serviço de Notificações: http://localhost:8002

O frontend se comunicará com o backend através de um proxy configurado em proxy.conf.json.

Testes

A aplicação utiliza testes unitários para garantir a qualidade e a funcionalidade do código. Os testes são realizados com as seguintes ferramentas:

  • Jasmine: Um framework de testes para JavaScript que fornece uma sintaxe clara e intuitiva para escrever testes.
  • Karma: Um executor de testes que permite rodar os testes em diferentes navegadores.

Como Executar os Testes

Para rodar os testes, execute o seguinte comando:

npm test

Arquivo de Proxy

A comunicação entre o frontend e o backend é realizada via proxy. O arquivo proxy.conf.json está configurado como abaixo:

[
  {
    "context": [
      "/api/tasks"
    ],
    "target": "http://18.230.82.81:8081/api",
    "secure": false,
    "changeOrigin": true,
    "pathRewrite": {
      "^/api/tasks": "/tasks"
    }
  },
  {
    "context": [
      "/api/users"
    ],
    "target": "http://18.229.131.117:8080/api",
    "secure": false,
    "logLevel": "debug",
    "changeOrigin": true,
    "pathRewrite": {
      "^/api/users": "/users"
    }
  }
]

About

Aplicação frontend em Angular para gerenciamento de tarefas, integrando três microserviços que possibilitam operações CRUD completas, proporcionando uma experiência intuitiva e fluida para o usuário. Além disso, a qualidade do código é garantida por meio de testes unitários, utilizando Jasmine e Karma, que asseguram o seu funcionamento correto.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published