kauatwn /
angular-toggle-theme-demo
Projeto Angular 19+ com signals e control flow. Implementando toggle theme em um relógio digital.
41/100 healthLoading repository data…
kauatwn / repository
Projeto Angular 19+ com signals e control flow. Implementando autenticação JWT e integrando a uma API própria.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Este projeto é uma aplicação de autenticação desenvolvida para praticar e demonstrar recursos modernos do Angular 19+, como signals para gerenciamento reativo de estado, control flow nativo (@if, @for), standalone components e outras boas práticas recomendadas pela equipe Angular. A aplicação implementa um sistema completo de autenticação JWT e utiliza Tailwind CSS para estilização moderna e responsiva.
[!IMPORTANT] Este projeto foi desenvolvido em colaboração com @sirkaue. A API está disponível em JWT Auth API. Certifique-se de que o backend esteja configurado e em execução para autenticação funcionar corretamente.
O objetivo deste projeto é servir como um exemplo prático e didático de como construir aplicações Angular modernas e seguras, utilizando as funcionalidades mais recentes do framework para garantir código limpo, eficiente e de fácil manutenção. A aplicação de autenticação implementa:
authGuard e noAuthGuard)Escolha uma das opções para executar o projeto:
Ao executar localmente (com ng serve)
Edite src/environments/environment.ts e defina a URL absoluta da sua API. Exemplo:
import { Environment } from '../app/core/models/environment.model';
export const environment: Environment = {
production: false,
apiUrl: 'http://localhost:8080/api', // URL absoluta do backend
// ... outras configurações
};
Ao executar com Docker
O projeto utiliza Nginx como proxy reverso quando executado via Docker. Configure o proxy no arquivo nginx.conf, localize o bloco location /api/ e ajuste a diretiva proxy_pass para apontar para o backend. Exemplo:
location /api/ {
# proxy_pass http://host.docker.internal:5000; # Descomente e ajuste a porta conforme necessário. Ex.: 5000, 8080, etc.
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Você pode executar o projeto de duas formas:
Clone este repositório em sua máquina local:
git clone https://github.com/kauatwn/angular-jwt-auth.git
Navegue até a pasta raiz do projeto:
cd angular-jwt-auth
Construa a imagem Docker:
docker build -t angular-jwt-auth .
Execute o container:
docker run --rm -p 4200:80 angular-jwt-auth
Após executar os comandos acima, a aplicação estará disponível em http://localhost:4200.
Acesse a pasta do projeto:
cd angular-jwt-auth
Instale as dependências:
npm install
Inicie o servidor de desenvolvimento:
npm start
Acesse a aplicação em http://localhost:4200.
Abaixo alguns exemplos da interface da aplicação:
O projeto está organizado da seguinte forma:
angular-jwt-auth/
└── src/
├── app/
│ ├── core/
│ │ ├── guards/
│ │ │ ├── auth/
│ │ │ └── no-auth/
│ │ ├── interceptors/
│ │ │ └── auth/
│ │ ├── models/
│ │ └── services/
│ │ ├── auth/
│ │ └── token/
│ ├── features/
│ │ ├── login/
│ │ ├── not-found/
│ │ ├── register/
│ │ └── user-profile/
│ │ └── components/
│ │ └── logout-dialog/
│ ├── shared/
│ │ └── validators/
│ ├── app.component.*
│ ├── app.config.ts
│ └── app.routes.ts
├── index.html
├── main.ts
└── styles.css
Cada funcionalidade é independente, focada em uma única responsabilidade e utiliza signals para o gerenciamento de estado. O sistema de autenticação garante segurança e persistência dos tokens JWT com proteção automática de rotas e interceptação de requisições HTTP.
Selected from shared topics, language and repository description—not editorial ratings.
kauatwn /
Projeto Angular 19+ com signals e control flow. Implementando toggle theme em um relógio digital.
41/100 healthsirkaue /
Projeto para praticar o desenvolvimento com Angular 19, explorando o uso de signals para gerenciamento reativo de estado. Implementa uma calculadora de médias escolares com foco em boas práticas, simplicidade e desempenho, consolidando conceitos modernos do framework e aprimorando a organização do código front-end.
30/100 health