# radeon95/frontend_new architecture

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

- Interactive diagram: https://gitdiagram.com/radeon95/frontend_new
- Repository: https://github.com/radeon95/frontend_new

## Overview

MoveMaster is a Vue-based public website for a removals company. Visitors browse company and moving-service information, explore photos and reviews, then contact the company or request a quote. The sampled entry point confirms route dispatch and the home page’s component composition; the README documents additional page capabilities. Contact-form verification is visible, but form-delivery wiring and unsampled page internals are not established by the excerpts.

Main entry points: [`src/main.ts`](https://github.com/radeon95/frontend_new/blob/main/src/main.ts) (App entry and routes), [`src/views/Home.vue`](https://github.com/radeon95/frontend_new/blob/main/src/views/Home.vue) (Home page), [`src/views/OurService.vue`](https://github.com/radeon95/frontend_new/blob/main/src/views/OurService.vue) (Services page), [`src/components/OurServices.vue`](https://github.com/radeon95/frontend_new/blob/main/src/components/OurServices.vue) (Service overview)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application shell"]
  node_entry["App entry and routes<br/>[main.ts]"]
  node_shell["Site shell<br/>[App.vue]"]
end

subgraph group_discover["Service discovery"]
  node_home["Home page<br/>[Home.vue]"]
  node_services["Services page<br/>[OurService.vue]"]
  node_service_cards["Service overview<br/>[OurServices.vue]"]
  node_why["Why choose us<br/>[WhyUs.vue]"]
  node_gallery_section["Home gallery<br/>[GallerySection.vue]"]
  node_gallery_page["Gallery page<br/>[Galery.vue]"]
  node_lightbox["Photo lightbox<br/>[Lightbox.vue]"]
  node_faq["FAQ section<br/>[FaqSection.vue]"]
  node_reviews["Reviews section<br/>[ReviewsSection.vue]"]
end

subgraph group_company["Company information"]
  node_about["About page<br/>[About.vue]"]
end

subgraph group_enquiry["Customer enquiries"]
  node_contact["Contact page<br/>[Contact.vue]"]
  node_quote_page["Quote page<br/>[Quote.vue]"]
  node_quote_form["Quote form<br/>[QuoteForm.vue]"]
  node_floating["Quick contact buttons"]
  node_sticky["Sticky buttons<br/>[stickyButtons.vue]"]
end

node_visitor(("Visitor"))
node_review_services["Review platforms"]
node_recaptcha["reCAPTCHA"]

node_visitor -->|"opens site"| node_entry
node_entry -->|"mounts shell"| node_shell
node_entry -->|"routes to"| node_home
node_entry -->|"routes to"| node_services
node_entry -->|"routes to"| node_gallery_page
node_entry -->|"routes to"| node_about
node_entry -->|"routes to"| node_contact
node_entry -->|"routes to"| node_quote_page
node_home -->|"renders"| node_service_cards
node_home -->|"renders"| node_why
node_home -->|"renders"| node_gallery_section
node_home -->|"renders"| node_faq
node_home -->|"renders"| node_reviews
node_home -->|"opens quote modal"| node_quote_form
node_home -->|"renders"| node_floating
node_service_cards -->|"navigates to"| node_services
node_reviews -.->|"links to"| node_review_services
node_contact -->|"loads script"| node_recaptcha
node_quote_page -->|"renders form"| node_quote_form
node_about -->|"renders"| node_sticky
node_services -->|"renders"| node_sticky

click node_entry "https://github.com/radeon95/frontend_new/blob/main/src/main.ts"
click node_shell "https://github.com/radeon95/frontend_new/blob/main/src/App.vue"
click node_home "https://github.com/radeon95/frontend_new/blob/main/src/views/Home.vue"
click node_services "https://github.com/radeon95/frontend_new/blob/main/src/views/OurService.vue"
click node_service_cards "https://github.com/radeon95/frontend_new/blob/main/src/components/OurServices.vue"
click node_why "https://github.com/radeon95/frontend_new/blob/main/src/components/WhyUs.vue"
click node_gallery_section "https://github.com/radeon95/frontend_new/blob/main/src/components/GallerySection.vue"
click node_gallery_page "https://github.com/radeon95/frontend_new/blob/main/src/views/Galery.vue"
click node_lightbox "https://github.com/radeon95/frontend_new/blob/main/src/views/Lightbox.vue"
click node_faq "https://github.com/radeon95/frontend_new/blob/main/src/components/FaqSection.vue"
click node_reviews "https://github.com/radeon95/frontend_new/blob/main/src/components/ReviewsSection.vue"
click node_about "https://github.com/radeon95/frontend_new/blob/main/src/views/About.vue"
click node_contact "https://github.com/radeon95/frontend_new/blob/main/src/views/Contact.vue"
click node_quote_page "https://github.com/radeon95/frontend_new/blob/main/src/views/Quote.vue"
click node_quote_form "https://github.com/radeon95/frontend_new/blob/main/src/components/QuoteForm.vue"
click node_floating "https://github.com/radeon95/frontend_new/blob/main/src/components/FloatingButtons.vue"
click node_sticky "https://github.com/radeon95/frontend_new/blob/main/src/components/stickyButtons.vue"

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_entry,node_shell,node_review_services toneBlue
class node_home,node_services,node_service_cards,node_why,node_gallery_section,node_gallery_page,node_lightbox,node_faq,node_reviews toneAmber
class node_about toneMint
class node_contact,node_quote_page,node_quote_form,node_floating,node_sticky toneRose
class node_visitor,node_recaptcha toneIndigo
```

## Components

### Application shell

- [App entry and routes](https://github.com/radeon95/frontend_new/blob/main/src/main.ts): `src/main.ts`
- [Site shell](https://github.com/radeon95/frontend_new/blob/main/src/App.vue): `src/App.vue`

### Service discovery

- [Home page](https://github.com/radeon95/frontend_new/blob/main/src/views/Home.vue): `src/views/Home.vue`
- [Services page](https://github.com/radeon95/frontend_new/blob/main/src/views/OurService.vue): `src/views/OurService.vue`
- [Service overview](https://github.com/radeon95/frontend_new/blob/main/src/components/OurServices.vue): `src/components/OurServices.vue`
- [Why choose us](https://github.com/radeon95/frontend_new/blob/main/src/components/WhyUs.vue): `src/components/WhyUs.vue`
- [Home gallery](https://github.com/radeon95/frontend_new/blob/main/src/components/GallerySection.vue): `src/components/GallerySection.vue`
- [Gallery page](https://github.com/radeon95/frontend_new/blob/main/src/views/Galery.vue): `src/views/Galery.vue`
- [Photo lightbox](https://github.com/radeon95/frontend_new/blob/main/src/views/Lightbox.vue): `src/views/Lightbox.vue`
- [FAQ section](https://github.com/radeon95/frontend_new/blob/main/src/components/FaqSection.vue): `src/components/FaqSection.vue`
- [Reviews section](https://github.com/radeon95/frontend_new/blob/main/src/components/ReviewsSection.vue): `src/components/ReviewsSection.vue`

### Company information

- [About page](https://github.com/radeon95/frontend_new/blob/main/src/views/About.vue): `src/views/About.vue`

### Customer enquiries

- [Contact page](https://github.com/radeon95/frontend_new/blob/main/src/views/Contact.vue): `src/views/Contact.vue`
- [Quote page](https://github.com/radeon95/frontend_new/blob/main/src/views/Quote.vue): `src/views/Quote.vue`
- [Quote form](https://github.com/radeon95/frontend_new/blob/main/src/components/QuoteForm.vue): `src/components/QuoteForm.vue`
- [Quick contact buttons](https://github.com/radeon95/frontend_new/blob/main/src/components/FloatingButtons.vue): `src/components/FloatingButtons.vue`
- [Sticky buttons](https://github.com/radeon95/frontend_new/blob/main/src/components/stickyButtons.vue): `src/components/stickyButtons.vue`

### Other components

- **Visitor**
- **Review platforms**
- **reCAPTCHA**

## Connections

- Visitor → App entry and routes: opens site
- App entry and routes → Site shell: mounts shell
- App entry and routes → Home page: routes to
- App entry and routes → Services page: routes to
- App entry and routes → Gallery page: routes to
- App entry and routes → About page: routes to
- App entry and routes → Contact page: routes to
- App entry and routes → Quote page: routes to
- Home page → Service overview: renders
- Home page → Why choose us: renders
- Home page → Home gallery: renders
- Home page → FAQ section: renders
- Home page → Reviews section: renders
- Home page → Quote form: opens quote modal
- Home page → Quick contact buttons: renders
- Service overview → Services page: navigates to
- Reviews section → Review platforms: links to
- Contact page → reCAPTCHA: loads script
- Quote page → Quote form: renders form
- About page → Sticky buttons: renders
- Services page → Sticky buttons: renders
