Essential information for maintaining and developing Hair by Angela.
hairbyangela-co-ukThe application is a static site with Firebase services used for content management and hosting.
Serves the public website, admin dashboard, guide, and handover pages. Rewrites in firebase.json route requests to /index.html.
Used for editable site content and contact form submissions. Key collections/documents include:
settings/contact_details for business details and external links.settings/homepage_text for hero, services, about, and contact copy.settings/brand_assets for image URLs such as logo, top-right accent image, and about image.portfolio and reviews for public-facing content.mail for contact form submissions if the Firebase Trigger Email workflow is enabled.Email/password authentication protects the /admin dashboard.
Stores uploaded brand assets and portfolio images managed through the admin area.
hair-by-angela/
|-- public/
| |-- index.html # Public homepage
| |-- handover.html # Developer handover document
| |-- admin/
| | |-- index.html # Admin dashboard
| | `-- guide.html # Editor guide for the admin user
| |-- assets/
| | |-- css/
| | | `-- styles.css # Main public-site styling
| | `-- js/
| | |-- firebase-config.js
| | |-- main.js # Public-site data loading
| | `-- portfolio-loader.js
| `-- images/ # Public static image assets
|-- firebase.json
|-- .firebaserc
|-- firestore.rules
|-- firestore.indexes.json
`-- storage.rules
Contact DetailsHero & BrandHomepage TextPortfolio (Selected Work)ReviewsThe homepage no longer uses a separate large hero image upload. The hero now uses:
settings/homepage_textThe about section still supports a dedicated About Image.
firebase.json defines hosting, Firestore, and Storage configuration..firebaserc maps the default local project to hairbyangela-co-uk.public/assets/js/firebase-config.js contains the client-side Firebase web app configuration used by both the public site and admin.npm install -g firebase-tools
firebase login
For local preview, use a static server or Firebase local serving:
firebase serve
For typical site or admin changes, deploy Hosting only:
firebase deploy --only hosting --project hairbyangela-co-uk
If rules or indexes also changed, run:
firebase deploy --project hairbyangela-co-uk
If this project needs to move to another Firebase account or project:
public/assets/js/firebase-config.js with the new web app credentials..firebaserc so the default project points to the new project ID.{
"projects": {
"default": "your-new-project-id"
}
}