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
- Users select either Standard Search (time range and keywords) or Top Headlines Search (keywords, country, and category).
- The application sends a request to the News API to retrieve relevant news articles.
- The data is filtered and sorted by relevance or popularity, depending on the search mode.
- 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.