# fauziiifau/makeup-landing architecture

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

- Interactive diagram: https://gitdiagram.com/fauziiifau/makeup-landing
- Repository: https://github.com/fauziiifau/makeup-landing

## Overview

AULIAAS_MAKEUP is an Astro makeup-services site with a client-side testimonial and admin workflow. Visitors browse service, pricing, portfolio and contact content; they can submit reviews and use the price calculator. Administrators authenticate and manage testimonial approval and edits. The README is only the Astro starter template, so the feature map is based on the file tree and sampled client logic; unsampled page composition and some component wiring are not asserted.

Main entry points: [`src/scripts/app.ts`](https://github.com/fauziiifau/makeup-landing/blob/main/src/scripts/app.ts) (Client Interactions), [`src/pages/index.astro`](https://github.com/fauziiifau/makeup-landing/blob/main/src/pages/index.astro) (Home Page), [`src/components/Modals.astro`](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Modals.astro) (Modal Views), [`src/components/Pricing.astro`](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Pricing.astro) (Price Calculator)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["Public Site"]
  node_home["Home Page<br/>[index.astro]"]
  node_layout["Site Layout<br/>[Layout.astro]"]
  node_navbar["Navigation<br/>[Navbar.astro]"]
  node_hero["Hero<br/>[Hero.astro]"]
  node_services["Services<br/>[Services.astro]"]
  node_pricing["Pricing<br/>[Pricing.astro]"]
  node_portfolio["Portfolio<br/>[Portfolio.astro]"]
  node_contact["Contact<br/>[Contact.astro]"]
  node_footer["Footer<br/>[Footer.astro]"]
  node_terms["Terms<br/>[Terms.astro]"]
  node_floatingwa["WhatsApp Link<br/>[FloatingWA.astro]"]
end

subgraph group_features["Interactive Features"]
  node_modals["Modal Views<br/>[Modals.astro]"]
  node_clientapp["Client Interactions<br/>[app.ts]"]
  node_calculator["Price Calculator<br/>[Pricing.astro]"]
end

subgraph group_reviews["Testimonials Admin"]
  node_testimonials["Testimonials<br/>[Testimonials.astro]"]
  node_firebaseauth{{"Firebase Auth"}}
  node_firestore[("Firestore")]
end

node_visitor(("Visitor"))
node_admin(("Administrator"))

node_visitor -->|"opens"| node_home
node_admin -->|"opens"| node_home
node_clientapp -->|"signs in"| node_firebaseauth
node_clientapp -->|"reads and writes"| node_firestore
node_clientapp -->|"updates price"| node_calculator
node_clientapp -->|"opens and closes"| node_modals
node_visitor -->|"submits review"| node_testimonials
node_admin -->|"manages reviews"| node_clientapp

click node_home "https://github.com/fauziiifau/makeup-landing/blob/main/src/pages/index.astro"
click node_layout "https://github.com/fauziiifau/makeup-landing/blob/main/src/layouts/Layout.astro"
click node_navbar "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Navbar.astro"
click node_hero "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Hero.astro"
click node_services "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Services.astro"
click node_pricing "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Pricing.astro"
click node_portfolio "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Portfolio.astro"
click node_testimonials "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Testimonials.astro"
click node_contact "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Contact.astro"
click node_footer "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Footer.astro"
click node_terms "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Terms.astro"
click node_floatingwa "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/FloatingWA.astro"
click node_modals "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Modals.astro"
click node_clientapp "https://github.com/fauziiifau/makeup-landing/blob/main/src/scripts/app.ts"
click node_calculator "https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Pricing.astro"

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_home,node_layout,node_navbar,node_hero,node_services,node_pricing,node_portfolio,node_contact,node_footer,node_terms,node_floatingwa toneBlue
class node_modals,node_clientapp,node_calculator toneAmber
class node_testimonials,node_firebaseauth,node_firestore toneMint
class node_visitor,node_admin toneIndigo
```

## Components

### Public Site

- [Home Page](https://github.com/fauziiifau/makeup-landing/blob/main/src/pages/index.astro): `src/pages/index.astro`
- [Site Layout](https://github.com/fauziiifau/makeup-landing/blob/main/src/layouts/Layout.astro): `src/layouts/Layout.astro`
- [Navigation](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Navbar.astro): `src/components/Navbar.astro`
- [Hero](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Hero.astro): `src/components/Hero.astro`
- [Services](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Services.astro): `src/components/Services.astro`
- [Pricing](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Pricing.astro): `src/components/Pricing.astro`
- [Portfolio](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Portfolio.astro): `src/components/Portfolio.astro`
- [Contact](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Contact.astro): `src/components/Contact.astro`
- [Footer](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Footer.astro): `src/components/Footer.astro`
- [Terms](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Terms.astro): `src/components/Terms.astro`
- [WhatsApp Link](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/FloatingWA.astro): `src/components/FloatingWA.astro`

### Interactive Features

- [Modal Views](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Modals.astro): `src/components/Modals.astro`
- [Client Interactions](https://github.com/fauziiifau/makeup-landing/blob/main/src/scripts/app.ts): `src/scripts/app.ts`
- [Price Calculator](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Pricing.astro): `src/components/Pricing.astro`

### Testimonials Admin

- [Testimonials](https://github.com/fauziiifau/makeup-landing/blob/main/src/components/Testimonials.astro): `src/components/Testimonials.astro`
- **Firebase Auth**
- **Firestore**

### Other components

- **Visitor**
- **Administrator**

## Connections

- Visitor → Home Page: opens
- Administrator → Home Page: opens
- Client Interactions → Firebase Auth: signs in
- Client Interactions → Firestore: reads and writes
- Client Interactions → Price Calculator: updates price
- Client Interactions → Modal Views: opens and closes
- Visitor → Testimonials: submits review
- Administrator → Client Interactions: manages reviews
