Skip to content

aditya-obj/Snapwalls

Repository files navigation

Snapwalls - AI Wallpaper Generator

Snapwalls is a modern web application that uses AI to generate beautiful, high-quality wallpapers for both desktop and mobile devices. Built with Next.js and Firebase, it offers a seamless experience for creating, saving, and managing your personalized wallpapers.

📱 Mobile Features

Feature Description
Home Screen Browse curated wallpaper collections
Generation Create wallpapers optimized for mobile (1440x2736)
Favorites Quick access to saved wallpapers
History Track your generated wallpapers
Profile Manage account settings and preferences

🖥️ Desktop Features

Feature Description
Home Gallery Expansive grid view of wallpaper collections
Advanced Studio Create wallpapers in desktop resolution (1920x1080)
Collections Organized library of saved wallpapers
History Log Detailed record of generations with metadata
Dashboard Comprehensive profile and settings management

🖼️ Desktop Preview

Home page desktop view

Snapwalls Desktop Preview

Explore page desktop view

Snapwalls Desktop Preview

Create page desktop view

Snapwalls Desktop Preview

Snap page desktop view

Snapwalls Desktop Preview

RandomSnap page desktop view

Snapwalls Desktop Preview

RandomSnap page desktop view

Snapwalls Desktop Preview

📱 Mobile Preview

Home page mobile view

Snapwalls Desktop Preview

Explore page mobile view

Snapwalls Desktop Preview

Create page mobile view

Snapwalls Desktop Preview

Snap page mobile view

Snapwalls Desktop Preview

RandomSnap page mobile view

Snapwalls Desktop Preview

RandomSnap page mobile view

Snapwalls Desktop Preview

🌟 Features

  • AI-Powered Generation: Create unique wallpapers using advanced AI technology
  • Dual Format Support: Generate wallpapers for both desktop (1920x1080) and mobile (1440x2736) devices
  • Quality Presets: Choose from Standard, Ultra HD, and Cinematic quality options
  • Style Customization: Multiple style presets including Default, Vibrant, Moody, Dreamy, and Minimal
  • Category Selection: Various categories including:
    • Nature
    • Abstract
    • Space
    • Cyberpunk
    • Fantasy
    • Minimal
    • Anime
  • User Features:
    • Save favorites to your personal collection
    • View generation history
    • Download wallpapers in high resolution
    • Share wallpapers easily
  • Modern UI/UX:
    • Responsive design for all devices
    • Interactive preview modes
    • Desktop and mobile-specific interfaces
    • Smooth animations and transitions

🚀 Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • Firebase account

Installation

  1. Clone the repository:
git clone https://github.com/adityakumar-in/Snapwalls.git
cd snapwalls
  1. Install dependencies:
npm install
# or
yarn install
  1. Set up environment variables: Create a .env.local file in the root directory and add your Firebase configuration:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
  1. Run the development server:
npm run dev
# or
yarn dev
  1. Open http://localhost:3000 in your browser.

🛠️ Built With

📱 Usage

  1. Select Device Type: Choose between desktop or mobile wallpaper format
  2. Choose Category: Select from various categories or use random
  3. Adjust Quality: Pick your preferred quality preset
  4. Select Style: Choose a style preset for your wallpaper
  5. Generate: Click the generate button to create your wallpaper
  6. Save or Share: Download, share, or save to favorites

🔐 Authentication

  • User authentication is handled through Firebase
  • Login required for:
    • Saving favorites
    • Viewing generation history
    • Accessing personal gallery

🎨 Customization

The application supports various customization options:

  • Quality presets for different use cases
  • Style presets for artistic variation
  • Category selection for targeted generation
  • Device-specific optimizations

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Thanks to Pollinations AI for the image generation API
  • Icons and UI elements from various open-source projects
  • Community contributions and feedback

📧 Contact

Abhishek - @abhishekabysm | Aditya - @coding.tutor

Project Link: https://snapwalls.vercel.app/

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •