Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 

Repository files navigation

# SimVal 2.0 πŸ’– A beautiful, interactive Angular web application to ask your special someone to be your Valentine! ## Features ✨ - 🎨 Cute, mobile-first responsive design - 🎡 Controllable background music (pause/play) - ⚑ Animated preloader with loading bar - πŸ“Έ Splash screen with girlfriend's photo - πŸ’• Interactive "Yes/No" buttons (No button moves, Yes button grows!) - πŸŽ‰ Celebration animation with confetti - πŸ“ Multiple personalized questions - πŸ“· Selfie upload functionality - πŸ“„ Auto-generated PDF with all responses - 🌟 Skeleton loaders for smooth UX - πŸ“± Perfect for all screen sizes ## Setup Instructions πŸš€ ### Prerequisites - Node.js (v18 or higher) - npm (v9 or higher) ### Installation 1. **Clone or download this repository** 2. **Install dependencies** ```bash cd simval-2.0 npm install ``` 3. **Add your girlfriend's photo** - Place her photo in `src/assets/images/` folder - Name it `girlfriend-photo.jpg` (or update the path in splash-screen component) 4. **Add background music (optional)** - Place your music file in `src/assets/audio/` folder - Name it `background-music.mp3` (or update the path in music service) ### Development Run the development server: ```bash npm start ``` Navigate to `http://localhost:4200/` ### Build Build the project for production: ```bash npm run build ``` ## Deploy to GitHub Pages 🌐 ### Option 1: Using angular-cli-ghpages 1. **Install GitHub Pages deployment tool** ```bash npm install -g angular-cli-ghpages ``` 2. **Build and deploy** ```bash npm run deploy ``` ### Option 2: Manual Deployment 1. **Build the project** ```bash ng build --configuration production --base-href=/simval-2.0/ ``` (Replace `simval-2.0` with your repository name) 2. **Create gh-pages branch** ```bash git checkout -b gh-pages ``` 3. **Copy dist files to root** ```bash cp -r dist/simval-2.0/browser/* . git add . git commit -m "Deploy to GitHub Pages" git push origin gh-pages ``` 4. **Enable GitHub Pages** - Go to your repository settings - Navigate to "Pages" section - Select "gh-pages" branch - Save Your site will be live at: `https://yourusername.github.io/simval-2.0/` ## Project Structure πŸ“ ``` simval-2.0/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ app/ β”‚ β”‚ β”œβ”€β”€ components/ β”‚ β”‚ β”‚ β”œβ”€β”€ preloader/ # Loading animation β”‚ β”‚ β”‚ β”œβ”€β”€ splash-screen/ # Welcome screen with photo β”‚ β”‚ β”‚ β”œβ”€β”€ question-flow/ # Main flow controller β”‚ β”‚ β”‚ β”œβ”€β”€ celebration/ # Success celebration β”‚ β”‚ β”‚ └── photo-upload/ # Selfie upload β”‚ β”‚ β”œβ”€β”€ services/ β”‚ β”‚ β”‚ β”œβ”€β”€ app-state.service.ts # State management β”‚ β”‚ β”‚ └── music.service.ts # Music controls β”‚ β”‚ β”œβ”€β”€ models/ β”‚ β”‚ β”‚ └── question.model.ts # TypeScript interfaces β”‚ β”‚ └── app.routes.ts # Routing configuration β”‚ β”œβ”€β”€ assets/ β”‚ β”‚ β”œβ”€β”€ images/ # Store girlfriend's photo here β”‚ β”‚ └── audio/ # Store background music here β”‚ └── styles.scss # Global styles β”œβ”€β”€ angular.json β”œβ”€β”€ package.json └── README.md ``` ## Customization 🎨 ### Change Questions Edit the questions array in `src/app/services/app-state.service.ts`: ```typescript private questions: Question[] = [ { id: 1, text: 'Your question here?', type: 'text', placeholder: 'Placeholder...' }, // Add more questions... ]; ``` ### Change Colors Edit CSS variables in `src/styles.scss`: ```scss :root { --primary-pink: #FF69B4; --secondary-pink: #FFB6C1; --light-pink: #FFF0F5; --accent-red: #FF1493; } ``` ### Change App Name Update in: - `src/index.html` - `` tag - `package.json` - `name` field - Throughout components as needed ## Technologies Used πŸ’» - **Angular 18** - Frontend framework - **TypeScript** - Programming language - **SCSS** - Styling - **jsPDF** - PDF generation - **canvas-confetti** - Celebration effects - **RxJS** - Reactive programming ## Browser Support 🌐 - Chrome (recommended) - Firefox - Safari - Edge - Mobile browsers (iOS Safari, Chrome Mobile) ## Tips for Best Experience πŸ“± 1. Test on mobile devices first (mobile-first design) 2. Use a romantic background music (royalty-free) 3. Use a clear, high-quality photo for splash screen 4. Preview on different screen sizes 5. Share the link when you're both ready! πŸ’• ## Troubleshooting πŸ”§ **Images not loading?** - Make sure images are in `src/assets/images/` - Check file names match exactly (case-sensitive) **Music not playing?** - Add music file to `src/assets/audio/` - Some browsers require user interaction before playing audio **PDF not generating?** - Make sure jsPDF is installed: `npm install jspdf` **GitHub Pages 404?** - Check base-href matches your repository name - Ensure gh-pages branch is set in repository settings ## License πŸ“„ This project is free to use for personal purposes. Made with ❀️ for your special someone! --- **Good luck! May she say YES! πŸ’–** #οΏ½ οΏ½sοΏ½iοΏ½mοΏ½vοΏ½aοΏ½lοΏ½2οΏ½.οΏ½0οΏ½ οΏ½ οΏ½

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors