https://vue-galley-yuzuxpic.firebaseapp.com/home
This is an image gallery website where you can browse all the photos and view them in detail through a lightbox. This website is also designed with a focus on user experience across a variety of devices. The site employs Responsive Web Design (RWD) to ensure seamless browsing whether you're using a desktop, tablet, or mobile phone. It dynamically adjusts the layout based on the device screen size for optimal viewing and navigation.
From layout design to route planning, database design, and style design, every aspect of this site has been meticulously crafted from scratch by me. A key feature of this project is its dynamic photo loading design. You can freely replace or add photos on the site by following the replacement rules provided below. This flexibility, combined with the responsive design, makes this image gallery a versatile tool for displaying and exploring photos.
- Used Vue CLI to create reusable components.
- Utilized Vue Router for SPA development.
- Employed Vuex for global state management.
- Utilized Webpack API for dynamic loading of folders and images.
- Deployed website using Firebase Hosting.
- Established a post CRUD CMS with Firestore.
- Verified user and admin identities via Firebase Authentication.
- Integrated the Google Maps API using Axios for location display.
- Applied RWD principles for a device-friendly UI.
- Leveraged Bootstrap & SCSS for quick, elegant interface design.
- Used the third-party package Vue Cool Lightbox for photo browsing.
- Browse all photos: Navigate through all the images available on the website.
- Lightbox feature: Click on any image to view it in more detail in a lightbox overlay.
- Dynamic photo loading: Easily replace or add photos according to the provided rules.
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
- Please ensure that you have node.js and npm installed.
- Clone the project from Github to your local machine.
- After opening it locally, navigate to the folder via the terminal and enter:
npm install
- Once the installation is complete, continue by typing:
npm run serve
- If you see the following message, it means it's running successfully:
Compiled successfully
App running at:
- Local: http://localhost:8080/
- Network: http://172.20.10.4:8080/
-
Next, copy the Local address and paste it into your browser to start development.
-
If you want to stop the program, enter:
ctrl + c
- Minifies for production when you finished development:
npm run build
Begin by creating a new album folder (for example, an "Album1" folder) and placing all the photos you want to display for this album into it. Next, select a cover photo for this album. In the "Album1" folder, create another folder named "cover" and place your chosen cover photo into the "cover" folder. Please note that your cover photo should be a jpg file and named "cover.jpg".
Follow the directory structure outlined below to place your album folder into the project folder: Project Root Folder -> [src] folder -> [assets] folder -> [images] folder -> [album] folder -> [Album1] folder -> All image files + [cover] folder
Open the defaultSetting.js file in the utils folder and update all your series and album names following this rule: {'Series Name': ['Album Name']}. For example: {'Series1':['Album1', 'Album2'], 'Series2':['Album1', 'Album2', 'Album3']}