A modern web application for discovering, managing, and enjoying high-quality wallpapers.
Papery helps users discover and organize beautiful wallpapers through an intuitive interface. Browse thousands of high-resolution images, create personalized collections, and transform your digital spaces with stunning visuals.
- Create custom collections to organize wallpapers by theme, mood, or occasion
- Quick favorite/unfavorite functionality with one-click actions
- Smart recommendations based on your favorite styles
- Access to thousands of high-resolution wallpapers
- Regular updates with fresh content
- Support for multiple devices (desktop, tablet, TV's lol)
- Multiple resolution options for each wallpaper
- Advanced filtering by resolution, orientation, color palette
- Instant search
- Custom sorting options (orientation, size, most color)
- HTML5 - Semantic structure and accessibility
- CSS3 - Custom animations and responsive layouts
- JavaScript - Interactive elements and dynamic content loading
- GoLang - High-performance API server and image processing
- RESTful API - Clean architecture for seamless frontend-backend communication
- JSON - Efficient metadata storage and retrieval
-
Clone the repository
git clone https://github.com/YourUsername/Papery.git cd Papery -
Install dependencies
go mod download
-
Build and run the application
go build ./papery
-
Access in browser
http://localhost:8080
papery/
├── main.go # Application entry point
├── go.mod # Go module file
├── README.md # Project documentation
│
├── assets/ # Static assets
│ ├── CSS/
│ │ ├── universal.css # Universal styles
│ │ ├── detailsPage.css # Details page styles
│ │ ├── home.css # Home page styles
│ │ ├── search.css # Search page styles
│ │ └── favorite.css # Favorites page styles
│ ├── Fonts/
│ │ └── BrightMarching-Regular.otf # Custom font
│ ├── Icons/ # Application icons
│ └── js/
│ └── favorites.js # Favorites functionality
│
├── controllers/ # MVC Controllers
│ ├── about.controller.go # About page controller
│ ├── details.controller.go # Details page controller
│ ├── favorite.controller.go # Favorites page controller
│ ├── home.controller.go # Home page controller
│ └── search.controller.go # Search page controller
│
├── data/ # Data storage
│ └── favorites.json # User favorites data
│
├── routes/ # Routing configuration
│ ├── about.route.go # About page routes
│ ├── details.route.go # Details page routes
│ ├── favorite.route.go # Favorites page routes
│ ├── home.route.go # Home page routes
│ ├── main.routes.go # Main routing setup
│ └── search.route.go # Search page routes
│
├── services/ # Business logic
│ ├── details.service.go # Photo details service
│ ├── favorites.service.go # Favorites management
│ ├── home.services.go # Home page content
│ └── search.service.go # Search functionality
│
└── templates/ # HTML templates
├── about.html # About page template
├── details.html # Details page template
├── favorite.html # Favorites page template
├── home.html # Home page template
├── search.html # Search page template
└── templates.go # Template handler
- GET / - Home page displaying a collection of wallpapers.
- GET /search - Search page with query parameters for filtering wallpapers.
- GET /details/{id} - Details page for a specific wallpaper.
- GET /favorite - Favorites page displaying user's favorite wallpapers.
- POST /api/favorites/add - Add a wallpaper to favorites.
- DELETE /api/favorites/remove - Remove a wallpaper from favorites.
- GET /about - About page with information about the application.
ESUGHI Abdulmalek
- All the amazing photographers who provide beautiful wallpapers
- The open-source community for their invaluable tools and libraries,