O TaskBoard é uma aplicação para gerenciar tarefas, permitindo adicionar, editar, remover e filtrar tarefas por categoria.
As principais tecnologias utilizadas neste projeto são:
- Angular 19
- Angular Material
- RxJS
- Jest
- TypeScript
- SCSS
- Docker
Este projeto possui as seguintes funcionalidades:
- Adicionar, editar e remover tarefas
- Filtrar tarefas por categoria
- Animações de entrada e saída para tarefas
- Validação de formulários
- Interface responsiva e amigável
Este projeto inclui um Dockerfile
e um docker-compose.yml
para facilitar a criação e execução de contêineres Docker.
Para construir a imagem Docker, execute o seguinte comando na raiz do projeto:
docker build -t task-board:v1 .
Para executar o contêiner Docker, utilize o docker-compose
com o seguinte comando:
docker-compose up
A aplicação estará disponível em http://localhost:8080/
.
Este projeto utiliza uma pipeline de CI/CD configurada no GitHub Actions. A pipeline é composta por dois jobs principais:
- CI (Continuous Integration): Executa testes e build do projeto em cada push ou pull request na branch
main
. - CD (Continuous Deploy): Após a conclusão do job de CI, o projeto é implantado automaticamente no Vercel.
Este projeto utiliza o padrão de conventional commits (Conventional Commits) para manter um histórico de commits claro e consistente.
Antes de começar, certifique-se de ter as seguintes ferramentas instaladas em sua máquina:
Node.js (versão 18 ou superior)
Angular CLI (versão 18 ou superior)
Siga os passos abaixo para configurar o projeto em sua máquina:
Clone o repositório para o seu ambiente local: git clone https://github.com/RodrigoSADev/Task-Board
Navegue até o diretório do projeto: cd nome-do-repositorio
Instale as dependências do projeto: npm install
Após a configuração, você pode executar o projeto localmente. Utilize o seguinte comando: ng serve
A aplicação estará disponível em http://localhost:4200/
. A página será recarregada automaticamente sempre que houver alterações no código.
Execute o comando npm run test
para executar os testes unitários via Jest.