# thiagoocms/taxify-ui architecture

> Architecture diagram of the GitHub repository thiagoocms/taxify-ui, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/thiagoocms/taxify-ui
- Repository: https://github.com/thiagoocms/taxify-ui

## Overview

TaxifyFront is an Angular client for authentication and administrative/fiscal workflows. Users enter through public login/register routes or, once authenticated, the guarded shell and its cadastro, home, and invoice areas. Feature components expose these workflows through domain services that issue HTTP requests to the API; authentication state is stored in browser local storage and a token interceptor authorizes requests. The README is Angular CLI boilerplate and documents no further product capabilities. Feature-to-service links follow the matching names in the tree; component internals were not sampled.

Main entry points: [`src/app/app.routes.ts`](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/app.routes.ts) (App routes), [`src/app/features/cadastro.routes.ts`](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/cadastro.routes.ts) (Cadastro routes), [`src/app/core/services/auth.service.ts`](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/auth.service.ts) (Authentication service), [`src/app/shared/layout/shell.component.ts`](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/shared/layout/shell.component.ts) (Authenticated shell)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and navigation"]
  node_webapp["Angular app<br/>[main.ts]"]
  node_routes["App routes<br/>[app.routes.ts]"]
  node_authroutes["Auth routes<br/>[auth.routes.ts]"]
  node_authui["Login / register<br/>[auth.component.ts]"]
  node_guard["Auth guard<br/>[auth.guard.ts]"]
  node_shell["Authenticated shell<br/>[shell.component.ts]"]
  node_home["Home<br/>[home.component.ts]"]
end

subgraph group_admin["Administrative records"]
  node_cadastro["Cadastro routes<br/>[cadastro.routes.ts]"]
  node_companies["Company records"]
  node_accounting["Accounting firm form"]
  node_plans["Plan records"]
  node_users["User records"]
  node_userlinks["User-company links"]
  node_subscriptions["Company subscriptions"]
end

subgraph group_fiscal["Fiscal workflows"]
  node_rulesui["Fiscal rule management"]
  node_invoices["Invoice XML list"]
end

subgraph group_core["Core services"]
  node_authsvc["Authentication service<br/>[auth.service.ts]"]
  node_companysvc["Company service<br/>[company.service.ts]"]
  node_accountingsvc["Accounting firm service"]
  node_plansvc["Plan service<br/>[plan.service.ts]"]
  node_usersvc["User service<br/>[user.service.ts]"]
  node_linksvc["User-company service"]
  node_subsvc["Subscription service"]
  node_rulesvc["Fiscal rule service"]
  node_xmlsvc["Fiscal XML service"]
  node_auditsvc["Invoice audit service"]
  node_interceptor["Auth interceptor"]
end

node_user(("User"))
node_api["Backend API"]

node_user -->|"uses"| node_webapp
node_webapp -->|"boots"| node_routes
node_routes -->|"loads"| node_authroutes
node_authroutes -->|"routes to"| node_authui
node_authui -->|"authenticates"| node_authsvc
node_routes -->|"guards"| node_guard
node_guard -->|"checks session"| node_authsvc
node_routes -->|"loads"| node_shell
node_shell -->|"hosts"| node_home
node_shell -->|"routes to"| node_cadastro
node_cadastro -->|"routes to"| node_companies
node_cadastro -->|"routes to"| node_plans
node_cadastro -->|"routes to"| node_users
node_routes -->|"routes to"| node_invoices
node_companies -->|"uses"| node_companysvc
node_accounting -->|"uses"| node_accountingsvc
node_plans -->|"uses"| node_plansvc
node_users -->|"uses"| node_usersvc
node_userlinks -->|"uses"| node_linksvc
node_subscriptions -->|"uses"| node_subsvc
node_rulesui -->|"uses"| node_rulesvc
node_invoices -->|"uses"| node_xmlsvc
node_authsvc -->|"HTTP auth"| node_api
node_companysvc -->|"HTTP requests"| node_api
node_accountingsvc -->|"HTTP requests"| node_api
node_plansvc -->|"HTTP requests"| node_api
node_usersvc -->|"HTTP requests"| node_api
node_linksvc -->|"HTTP requests"| node_api
node_subsvc -->|"HTTP requests"| node_api
node_rulesvc -->|"HTTP requests"| node_api
node_xmlsvc -->|"HTTP requests"| node_api
node_auditsvc -->|"HTTP requests"| node_api
node_interceptor -->|"reads token"| node_authsvc
node_interceptor -->|"authorizes requests"| node_api

click node_webapp "https://github.com/thiagoocms/taxify-ui/blob/master/src/main.ts"
click node_routes "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/app.routes.ts"
click node_authroutes "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/auth/auth.routes.ts"
click node_authui "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/auth/auth.component.ts"
click node_guard "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/guards/auth.guard.ts"
click node_shell "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/shared/layout/shell.component.ts"
click node_home "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/home/home.component.ts"
click node_cadastro "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/cadastro.routes.ts"
click node_companies "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/companies/company-list/company-list.component.ts"
click node_accounting "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/accounting-firm/accounting-firm-form/accounting-firm-form.component.ts"
click node_plans "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/plans/plan-list/plan-list.component.ts"
click node_users "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/users/user-list/user-list.component.ts"
click node_userlinks "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/users/user-links/user-links.component.ts"
click node_subscriptions "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/companies/company-subscriptions/company-subscriptions.component.ts"
click node_rulesui "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/companies/company-product-fiscal-rules/company-product-fiscal-rules.component.ts"
click node_invoices "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/invoices/invoice-xml-list/invoice-xml-list.component.ts"
click node_authsvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/auth.service.ts"
click node_companysvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/company.service.ts"
click node_accountingsvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/accounting-firm.service.ts"
click node_plansvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/plan.service.ts"
click node_usersvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/user.service.ts"
click node_linksvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/user-company.service.ts"
click node_subsvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/subscription.service.ts"
click node_rulesvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/product-fiscal-rule.service.ts"
click node_xmlsvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/fiscal-xml.service.ts"
click node_auditsvc "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/invoice-audit-log.service.ts"
click node_interceptor "https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/interceptors/auth.interceptor.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_webapp,node_routes,node_authroutes,node_authui,node_guard,node_shell,node_home,node_user toneBlue
class node_cadastro,node_companies,node_accounting,node_plans,node_users,node_userlinks,node_subscriptions toneAmber
class node_rulesui,node_invoices,node_api toneMint
class node_authsvc,node_companysvc,node_accountingsvc,node_plansvc,node_usersvc,node_linksvc,node_subsvc,node_rulesvc,node_xmlsvc,node_auditsvc,node_interceptor toneRose
```

## Components

### Access and navigation

- [Angular app](https://github.com/thiagoocms/taxify-ui/blob/master/src/main.ts): `src/main.ts`
- [App routes](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/app.routes.ts): `src/app/app.routes.ts`
- [Auth routes](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/auth/auth.routes.ts): `src/app/features/auth/auth.routes.ts`
- [Login / register](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/auth/auth.component.ts): `src/app/features/auth/auth.component.ts`
- [Auth guard](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/guards/auth.guard.ts): `src/app/core/guards/auth.guard.ts`
- [Authenticated shell](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/shared/layout/shell.component.ts): `src/app/shared/layout/shell.component.ts`
- [Home](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/home/home.component.ts): `src/app/features/home/home.component.ts`

### Administrative records

- [Cadastro routes](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/cadastro.routes.ts): `src/app/features/cadastro.routes.ts`
- [Company records](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/companies/company-list/company-list.component.ts): `src/app/features/companies/company-list/company-list.component.ts`
- [Accounting firm form](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/accounting-firm/accounting-firm-form/accounting-firm-form.component.ts): `src/app/features/accounting-firm/accounting-firm-form/accounting-firm-form.component.ts`
- [Plan records](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/plans/plan-list/plan-list.component.ts): `src/app/features/plans/plan-list/plan-list.component.ts`
- [User records](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/users/user-list/user-list.component.ts): `src/app/features/users/user-list/user-list.component.ts`
- [User-company links](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/users/user-links/user-links.component.ts): `src/app/features/users/user-links/user-links.component.ts`
- [Company subscriptions](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/companies/company-subscriptions/company-subscriptions.component.ts): `src/app/features/companies/company-subscriptions/company-subscriptions.component.ts`

### Fiscal workflows

- [Fiscal rule management](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/companies/company-product-fiscal-rules/company-product-fiscal-rules.component.ts): `src/app/features/companies/company-product-fiscal-rules/company-product-fiscal-rules.component.ts`
- [Invoice XML list](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/features/invoices/invoice-xml-list/invoice-xml-list.component.ts): `src/app/features/invoices/invoice-xml-list/invoice-xml-list.component.ts`

### Core services

- [Authentication service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/auth.service.ts): `src/app/core/services/auth.service.ts`
- [Company service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/company.service.ts): `src/app/core/services/company.service.ts`
- [Accounting firm service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/accounting-firm.service.ts): `src/app/core/services/accounting-firm.service.ts`
- [Plan service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/plan.service.ts): `src/app/core/services/plan.service.ts`
- [User service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/user.service.ts): `src/app/core/services/user.service.ts`
- [User-company service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/user-company.service.ts): `src/app/core/services/user-company.service.ts`
- [Subscription service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/subscription.service.ts): `src/app/core/services/subscription.service.ts`
- [Fiscal rule service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/product-fiscal-rule.service.ts): `src/app/core/services/product-fiscal-rule.service.ts`
- [Fiscal XML service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/fiscal-xml.service.ts): `src/app/core/services/fiscal-xml.service.ts`
- [Invoice audit service](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/services/invoice-audit-log.service.ts): `src/app/core/services/invoice-audit-log.service.ts`
- [Auth interceptor](https://github.com/thiagoocms/taxify-ui/blob/master/src/app/core/interceptors/auth.interceptor.ts): `src/app/core/interceptors/auth.interceptor.ts`

### Other components

- **User**
- **Backend API**

## Connections

- User → Angular app: uses
- Angular app → App routes: boots
- App routes → Auth routes: loads
- Auth routes → Login / register: routes to
- Login / register → Authentication service: authenticates
- App routes → Auth guard: guards
- Auth guard → Authentication service: checks session
- App routes → Authenticated shell: loads
- Authenticated shell → Home: hosts
- Authenticated shell → Cadastro routes: routes to
- Cadastro routes → Company records: routes to
- Cadastro routes → Plan records: routes to
- Cadastro routes → User records: routes to
- App routes → Invoice XML list: routes to
- Company records → Company service: uses
- Accounting firm form → Accounting firm service: uses
- Plan records → Plan service: uses
- User records → User service: uses
- User-company links → User-company service: uses
- Company subscriptions → Subscription service: uses
- Fiscal rule management → Fiscal rule service: uses
- Invoice XML list → Fiscal XML service: uses
- Authentication service → Backend API: HTTP auth
- Company service → Backend API: HTTP requests
- Accounting firm service → Backend API: HTTP requests
- Plan service → Backend API: HTTP requests
- User service → Backend API: HTTP requests
- User-company service → Backend API: HTTP requests
- Subscription service → Backend API: HTTP requests
- Fiscal rule service → Backend API: HTTP requests
- Fiscal XML service → Backend API: HTTP requests
- Invoice audit service → Backend API: HTTP requests
- Auth interceptor → Authentication service: reads token
- Auth interceptor → Backend API: authorizes requests
