{"id":50439261,"url":"https://github.com/ortegavan/site","last_synced_at":"2026-05-31T18:04:03.008Z","repository":{"id":347811492,"uuid":"1195368525","full_name":"ortegavan/site","owner":"ortegavan","description":"Meu site pessoal :) ","archived":false,"fork":false,"pushed_at":"2026-04-12T17:04:35.000Z","size":881,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-12T18:10:06.996Z","etag":null,"topics":["angular"],"latest_commit_sha":null,"homepage":"https://www.ortegavan.com.br/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ortegavan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-29T15:34:59.000Z","updated_at":"2026-04-04T07:17:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ortegavan/site","commit_stats":null,"previous_names":["ortegavan/site"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ortegavan/site","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortegavan%2Fsite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortegavan%2Fsite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortegavan%2Fsite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortegavan%2Fsite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ortegavan","download_url":"https://codeload.github.com/ortegavan/site/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortegavan%2Fsite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33742190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular"],"created_at":"2026-05-31T18:04:02.891Z","updated_at":"2026-05-31T18:04:02.997Z","avatar_url":"https://github.com/ortegavan.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌸 ortegavan.com.br\n\n**Site pessoal de Vanessa Ortega — desenvolvedora, autora e criadora de conteúdo**\n\n[![Angular](https://img.shields.io/badge/Angular-21-DD0031?style=for-the-badge\u0026logo=angular\u0026logoColor=white)](https://angular.dev) [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org) [![SCSS](https://img.shields.io/badge/SCSS-CC6699?style=for-the-badge\u0026logo=sass\u0026logoColor=white)](https://sass-lang.com) [![Vitest](https://img.shields.io/badge/Vitest-6E9F18?style=for-the-badge\u0026logo=vitest\u0026logoColor=white)](https://vitest.dev)\n\n---\n\n## ✨ Sobre o projeto\n\nSite pessoal construído com Angular moderno, apresentando:\n\n- 📖 Promoção do livro **Angular na Prática** (Jan/2025)\n- 🎓 Vitrine dos cursos em desenvolvimento\n- 📬 Inscrição em newsletter via Kit.com\n- 🔗 Links para redes sociais e contato direto\n\n---\n\n## 🏗️ Arquitetura\n\n```\nsrc/\n├── app/\n│   ├── components/\n│   │   ├── header/      # Barra de navegação fixa, responsiva\n│   │   ├── hero/        # Seção de abertura + newsletter\n│   │   ├── about/       # Bio + foto + redes sociais\n│   │   ├── book/        # Vitrine do livro Angular na Prática\n│   │   ├── courses/     # Cursos em breve\n│   │   ├── email/       # CTA de contato\n│   │   ├── footer/      # Rodapé\n│   │   └── home/        # Página principal (lazy loaded)\n│   └── ui/\n│       └── card/        # Componente de card reutilizável\n├── styles.scss          # Design tokens e estilos globais\n└── index.html\n```\n\nTodos os componentes são **standalone** (sem NgModules), com **OnPush** change detection e **signals** para estado reativo.\n\n---\n\n## 🎨 Design tokens\n\n| Token               | Valor        | Uso                |\n| ------------------- | ------------ | ------------------ |\n| `--primary-color`   | `#131313`    | Texto principal    |\n| `--secondary-color` | `#f5f5f5`    | Background         |\n| `--accent-color`    | `#eb589c` 🌸 | Destaques e CTAs   |\n| `--font-family`     | Outfit       | Tipografia         |\n| `--padding`         | `32px`       | Espaçamento padrão |\n\n---\n\n## 🚀 Como rodar\n\n```bash\n# Instalar dependências\nnpm install\n\n# Servidor de desenvolvimento\nnpm start\n# → http://localhost:4200\n\n# Build de produção\nnpm run build\n\n# Testes\nnpm test\n```\n\n---\n\n## 🛠️ Stack\n\n| Camada     | Tecnologia                   |\n| ---------- | ---------------------------- |\n| Framework  | Angular 21 (standalone)      |\n| Linguagem  | TypeScript 5.9 (strict)      |\n| Estilos    | SCSS + CSS Custom Properties |\n| Testes     | Vitest + jsdom               |\n| Ícones     | FontAwesome 6 Duotone        |\n| Fontes     | Google Fonts — Outfit        |\n| Newsletter | Kit.com                      |\n| Formatação | Prettier                     |\n\n---\n\n## 📐 Boas práticas adotadas\n\n- ✅ Componentes standalone com `ChangeDetectionStrategy.OnPush`\n- ✅ Signals para estado local (`signal`, `computed`)\n- ✅ `input()` e `output()` em vez de decorators\n- ✅ Controle de fluxo nativo (`@if`, `@for`, `@switch`)\n- ✅ `NgOptimizedImage` para imagens estáticas\n- ✅ WCAG AA — contraste, foco e atributos ARIA\n- ✅ Lazy loading na rota principal\n\n---\n\nFeito com 💖 e Angular por **[Vanessa Ortega](https://ortegavan.com.br)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fortegavan%2Fsite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fortegavan%2Fsite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fortegavan%2Fsite/lists"}