Este projeto é uma aplicação web desenvolvida em Angular com o objetivo de demonstrar a implementação de um CRUD completo de posts e comentários, aplicando boas práticas de arquitetura, organização de código e programação reativa.
A aplicação permite criar, listar, editar e excluir posts, além de gerenciar comentários associados a cada post.
- Linguagem: TypeScript
- Framework: Angular
- Estilização: Tailwind CSS
- Programação reativa: RxJS
- Formulários: Reactive Forms
- Comunicação com API: HttpClient (REST)
- API utilizada: JSONPlaceholder
- Implementar testes unitários com Jasmine e Karma
- Migrar persistência de dados para Firebase
- Adicionar tratamento global de erros
- Implementar paginação e otimização de performance
- Node.js v22+
- Angular CLI v19+
- TypeScript
- Gerenciador de pacotes: npm
- API externa: JSONPlaceholder (REST)
- Navegador: Compatível com navegadores modernos (testado no Opera)
- Clone o repositório:
https://github.com/Isabela01vSilva/posts-manager.git- Acesse a pasta do projeto:
cd posts-manager- Instale as dependências:
npm i- Rode a aplicação Angular:
ng serve- Acesse no navegador:
http://localhost:4200
- Utilização de RxJS com async pipe, evitando
subscribemanual - Services desacoplados para facilitar manutenção e troca de API
- Uso de Tailwind CSS para agilidade no desenvolvimento
- Estrutura preparada para integração futura com Firebase
- Não utilização de NgRx, reduzindo a complexidade inicial e facilitando o entendimento do fluxo de dados
- Utilização de uma API externa (JSONPlaceholder) para simular o backend, em vez de um backend próprio
- Persistência de dados limitada, sem armazenamento offline
- Firebase considerado como solução de persistência, porém não implementado nesta etapa devido a restrições de tempo, ficando planejado como melhoria futura
A implementação de testes automatizados está planejada como etapa futura do projeto.
- Framework de testes: Jasmine
- Test runner: Karma
- Escopo previsto:
- Componentes
- Services
- Formulários e validações
Atualmente, a aplicação pode ser validada manualmente por meio das seguintes ações:
- Criar, editar e excluir posts
- Criar, editar e excluir comentários
- Validar o comportamento após recarregar a página
- Verificar estados de loading e erro
O deploy da aplicação está planejado como um próximo passo do projeto.
- Plataformas consideradas: Vercel, Firebase Hosting ou Netlify
- Ambiente: Produção
Link do deploy:
A ser disponibilizado
Isabela Silva