How dreezytrial/angular-pet works
This is an Angular dashboard demo with mock-user sign-in, guarded dashboard navigation, profile management, project and pricing views, contact content, and a persisted theme preference. The documented route configuration establishes page dispatch and the sampled authentication service establishes mock-user lookup, browser-storage access, and navigation. Page internals and theme-toggle wiring were not sampled, so their relationships are omitted where unsupported.
Main entry points: app.routes.ts Route configuration · login.service.ts Login service · app.ts Root application · interfaces.ts Domain interfaces
Components 18
Authentication
- Login page
app1/src/app/components/pages/login/login.component.ts - Login service
app1/src/app/services/login.service.ts - Authentication guard
app1/src/app/guards/auth/auth-guard.ts - Mock users
app1/src/app/mocks/users.mock.ts - Browser local storage
Dashboard Shell
- Route configuration
app1/src/app/app.routes.ts - Dashboard navigation shell
app1/src/app/components/shared/nav-bar-component/nav-bar.component.ts
Dashboard Pages
- Dashboard page
app1/src/app/components/pages/dashboard/dashboard.ts - Projects page
app1/src/app/components/pages/page-projects/page-projects.component.ts - Pricing page
app1/src/app/components/pages/page-pricing/page-pricing.component.ts - Contact page
app1/src/app/components/pages/page-contact/page-contact.component.ts - Profile editor
app1/src/app/components/pages/profile-page/profile-component/profile-component.ts - Domain interfaces
app1/src/app/models/interfaces.ts
Preferences
- Theme toggle
app1/src/app/components/shared/theme-toggle/theme-toggle.component.ts - Theme service
app1/src/app/services/toggle.theme.service.ts
Other components
- Visitor
- Application bootstrap
app1/src/main.ts - Root application
app1/src/app/app.ts
Connections 20
- Visitor → Login page: opens sign-in
- Application bootstrap → Root application: bootstraps
- Root application → Route configuration: provides outlet
- Root application → Theme toggle: renders
- Route configuration → Login page: routes /login
- Route configuration → Dashboard navigation shell: routes /dashboard
- Route configuration → Authentication guard: guards dashboard
- Route configuration → Dashboard page: dispatches default
- Route configuration → Projects page: dispatches projects
- Route configuration → Pricing page: dispatches pricing
- Route configuration → Contact page: dispatches contact
- Route configuration → Profile editor: dispatches profile
- Login service → Mock users: looks up users
- Login service → Browser local storage: reads and writes
- Login service → Authentication guard: publishes auth state
- Login service → Route configuration: navigates after auth
- Theme service → Browser local storage: persists preference
- Profile editor → Domain interfaces: uses user types
- Projects page → Domain interfaces: uses project type
- Pricing page → Domain interfaces: uses plan type