Giphy-from-wish: A Giphy SPA Project by Antani KalchevGiphy-from-wish: A Giphy SPA Project by Antani Kalchev

Giphy-from-wish: A Giphy SPA Project

Portfolio project
Antani Kalchev

Giphy-from-wish

A Giphy SPA for searching and uploading GIFs.

๐Ÿง  About the Project

Giphy-from-wish is a single-page application (SPA) built as part of the Telerik Academy Web Module.
It demonstrates core concepts in modern front-end development, including:
โœ… DOM manipulation via the DOM API
๐Ÿ”„ Asynchronous communication using AJAX and the Fetch API
๐ŸŒ RESTful HTTP requests to remote endpoints
โค๏ธ Working with favorites and localStorage
๐Ÿ” Dynamic search
๐Ÿ“ฅ GIF uploading (via file or URL)
๐Ÿ“„ Rendering details pages for individual GIFs

๐Ÿ–ผ๏ธ Wireframes

๐Ÿ“Š Main View (Trending & Favorites)

๐Ÿ“ Details View

โฌ†๏ธ Upload View

๐Ÿ› ๏ธ Technologies Used

Vanilla JavaScript (ES6+)
HTML5 / CSS3
Fetch API
Basic REST principles
No external libraries (optional: Tailwind/Bootstrap)

๐Ÿ’ก Project Structure

giphy-from-wish/
โ”œโ”€โ”€ gifs/ # Pre-downloaded GIFs used to demonstrate upload functionality
โ”œโ”€โ”€ node_modules/ # Installed dependencies (auto-generated)
โ”œโ”€โ”€ pictures/ # Images used in documentation/README
โ”œโ”€โ”€ template/ # Main application code
โ”‚ โ”œโ”€โ”€ constantsFolder/
โ”‚ โ”‚ โ””โ”€โ”€ constants.js # All constant values to avoid magic numbers
โ”‚ โ”œโ”€โ”€ events/
โ”‚ โ”‚ โ”œโ”€โ”€ helpers.js # Utility functions (clearScreens, etc.)
โ”‚ โ”‚ โ””โ”€โ”€ navigation.js # Page loading functionality (loadPage)
โ”‚ โ”œโ”€โ”€ styles/
โ”‚ โ”‚ โ”œโ”€โ”€ style.css # Custom styling
โ”‚ โ”‚ โ””โ”€โ”€ normalize.css # CSS reset/normalization
โ”‚ โ”œโ”€โ”€ utils/
โ”‚ โ”‚ โ””โ”€โ”€ download-gif.js # Handles GIF downloading from Giphy
โ”‚ โ”œโ”€โ”€ views/ # All page view renderers
โ”‚ โ”‚ โ”œโ”€โ”€ trending.js
โ”‚ โ”‚ โ”œโ”€โ”€ favorites.js
โ”‚ โ”‚ โ””โ”€โ”€ ... (other views)
โ”‚ โ”œโ”€โ”€ main.js # Primary event listener for all page interactions
โ”‚ โ””โ”€โ”€ index.html # The primary html file
โ”‚
โ”œโ”€โ”€ .gitignore # Specifies untracked files
โ”œโ”€โ”€ .prettierrc # Code formatting configuration
โ”œโ”€โ”€ .eslintconfig # Linting rules
โ”œโ”€โ”€ package.json # Project configuration and dependencies
โ””โ”€โ”€ README.md # Project documentation```

0 likes ยท 11 views ยท Jun 27, 2025

Developed a Giphy SPA for searching and uploading GIFs using modern front-end techniques.

Timeline

Apr 16, 2025 - Apr 22, 2025

Tags