Braided by Sekae
This project is a responsive hairstyling website designed to showcase different braid styles, allow users to browse hairstyle galleries, and book appointments online.
Overview
The website focuses on visual presentation, user experience, and interactive elements to make it easy for users to explore styles and engage with the brand.
Mission
- To create a visually appealing and user-friendly platform
- Explore different hairstyles effortlessly
- View hairstyle details clearly across all devices
- Interact with the site through animations and transitions
- Book hairstyling appointments quickly and intuitively
- Allow the admin user to view her list of bookings
Links
GitHub Repo Live DemoKey Features
- Firebase database integration
- Date limits (max bookings per day)
- Admin-only booking view
- Email confirmations
- Responsive Carousel
- Categorized Gallery Page
- Lightbox Image Viewer
- Glowing Text Animation
- Animated Hero Section
- Custom booking system
- Fully Responsive Design
Tech Stack
Tools
VS Code
Frontend
- HTML5: Semantic structure and content
- CSS3: Styling, layout, animations, and responsiveness
- JavaScript (Vanilla JS): Interactivity and dynamic behavior
Backend / Services
- Firebase Firestore: Cloud database for storing and retrieving booking data
- EmailJS: Automated email notifications for booking confirmations
- LocalStorage: Temporary client-side data handling and fallback logic
Website Screenshots
Lessons Learned
- Building a custom booking system from scratch improved my understanding of real-world user flows and edge cases.
- Integrating Firebase Firestore highlighted the importance of database rules, permissions, and secure data access.
- Handling booking limits per day required careful coordination between frontend validation and backend checks.
- Email automation with EmailJS reinforced the importance of error handling and user feedback during async operations.
- Separating admin functionality from the public site improved security and maintainability.
- Deploying to Netlify emphasized the differences between local development and production environments.
- Debugging production issues strengthened my ability to read console errors and trace problems across services.
- Clear file organisation and naming conventions made scaling and troubleshooting significantly easier.