Skip to content

πŸ–ΌοΈ A Next.js application that allows you to easily browse and filter media files from Twitter users.

License

Notifications You must be signed in to change notification settings

emrecoban/twitter-gallery

Repository files navigation


Twitter Gallery

Twitter Gallery is an open-source MIT-licensed Next.js application that allows you to easily browse and filter media files from Twitter users.

Try it: twittergallery.emre.run, OR twittergallery.emre.run/{username}

The Problem

Twitter's built-in media tab is often cumbersome to use, and it lacks the ability to search within the media section alone. This limitation can be frustrating for users who primarily want to explore and view images without the distractions of other types of content. To address this issue, I have built Twitter Gallery.

Features

With my app, you can effortlessly discover and filter media files shared by Twitter users. Here's what sets Twitter Gallery apart:

  • Streamlined Media Display: I have reimagined the way media files are presented, providing a clean and intuitive interface focused solely on visual content. Say goodbye to clutter and distractions as you browse through beautiful images.
  • Multiple Columns: Twitter Gallery optimizes screen space by displaying photos in multiple columns, allowing you to view more images at once. This efficient layout ensures you can explore media files more efficiently and enjoy a seamless browsing experience.
  • Enhanced Search Functionality: My app empowers you to search specifically within the media section of Twitter. Easily find images related to your interests or discover captivating photography from your favorite users. Twitter Gallery takes the frustration out of media exploration.
  • Caching System with Redis: Faster response time, fewer API requests. Caches frequently accessed data, reducing the need to fetch information from the database or external services repeatedly. Optimizes performance by minimizing response time and API calls.

Screenshots

search-result-wIcons-for-psychdelicpics search-result-for-shouldhavecat filter-result-for-changeinvolume

Directory Structure

β”œβ”€β”€ public
β”‚   β”œβ”€β”€ gallery.svg
β”‚   β”œβ”€β”€ github.svg
β”‚   β”œβ”€β”€ placeholder.jpeg
β”‚   └── twitter.svg
β”œβ”€β”€ src
β”‚   └── app
β”‚       β”œβ”€β”€ components
β”‚       β”‚   β”œβ”€β”€ BlurImage.jsx
β”‚       β”‚   β”œβ”€β”€ Header.jsx
β”‚       β”‚   └── LoadingSkeleton.jsx
β”‚       β”œβ”€β”€ _actions.js
β”‚       β”œβ”€β”€ layout.js
β”‚       β”œβ”€β”€ page.js
β”‚       β”œβ”€β”€ globals.css
β”‚       └── icon.svg
β”œβ”€β”€ next.config.js
β”œβ”€β”€ tailwind.config.js
└── README.md

Built with

Installation

  1. Clone the repository to your local machine:
  git clone https://github.com/emrecoban/twitter-gallery.git
  1. Navigate to the project directory:
  cd twitter-gallery
  1. Install the dependencies using npm:
  npm install
  1. Don't forget to configure .env file. Get your Twitter API Token and Create Redis database:
BEARER_TOKEN="{YOUR API TOKEN}"
UPSTASH_REDIS_REST_URL="{YOUR URL}"
UPSTASH_REDIS_REST_TOKEN="{YOUR API TOKEN}"
  1. Start the development server:
  npm run dev
  1. Open your web browser and go to http://localhost:3000 to view the application.

That's it! You should now have the project running locally on your machine. If you encounter any issues, be sure to check the project's documentation and issue tracker on GitHub.

Contributing

Bug reports, feature requests, and pull requests are welcome. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Support

References

Changelog

  • v1.1: It now uses Redis database for faster response time, fewer API requests.
  • v1.0: The first version was born!

License

The Twitter Gallery is available as open source under the terms of the MIT License.

About

πŸ–ΌοΈ A Next.js application that allows you to easily browse and filter media files from Twitter users.

Topics

Resources

License

Stars

Watchers

Forks