About Newsify

The web application is designed to simplify access to up-to-date news. It allows users to find and filter news content within a specified time range. The application provides a quick way to access the most relevant and popular articles based on keywords or topics.

Features

  • Search by date and keywords: Enables users to specify a time range and optionally add keywords to find relevant news.
  • Two search modes:
    • Standard search: Specify a time range and optionally add keywords to find relevant news articles.
    • Top headlines search: Browse trending news filtered by keywords, country, or category (e.g., technology, sports, business).
  • Interactive interface: Features convenient date input fields with a calendar widget and a responsive design suitable for all devices.
  • Sorting by popularity: Helps users quickly find the most popular articles.
  • Direct access to sources: Includes links to full versions of articles.
  • Request caching: Recently retrieved news articles are stored in a Redis cache to reduce API requests and improve application performance. Cached data ensures faster loading times for frequently accessed content.

How the Application Works

  1. Users select either Standard Search (time range and keywords) or Top Headlines Search (keywords, country, and category).
  2. The application sends a request to the News API to retrieve relevant news articles.
  3. The data is filtered and sorted by relevance or popularity, depending on the search mode.
  4. The results are displayed in a user-friendly format with titles, descriptions, and links.

Technologies

Frontend:

  • HTML5, CSS3, JavaScript : For building a responsive, user-friendly interface and implementing interactivity.

Backend:

  • Django (Python): To handle user requests and interact with the API.
  • SQLite:To store query for country and cache data.
  • Redis: For caching API responses and improving application performance.

Integration:

  • News API: To fetch up-to-date information.

Hosting and Deployment:

  • AWS (Amazon Web Services): To host and ensure the stable operation of the application.
  • Gunicorn and Nginx: For request handling and server management.

Advantages

  • Intuitive interface for seamless interaction with the application.
  • Two powerful search modes to cover different user needs.
  • Quick access to relevant news thanks to integration with modern APIs.
  • Reliable architecture built using proven technologies.