Skip to content

Rakib-Hasan1/dragon-news-authentication

Repository files navigation

🐉 Dragon News is a front-end web application built with React that delivers real-time news articles across multiple categories. It offers a smooth and engaging user experience on all devices, complete with Firebase Authentication for secure and personalized access.

This project integrates a third-party API provided by Programming Hero to fetch news content dynamically. It includes category-wise browsing, news details viewing, and authentication-protected routes for a more tailored experience.

🚀 Live Site

🌐 the-dragon-news-6136e.web.app

🧠 Features 🔐 User Authentication with Firebase (Login/Logout)

📰 Browse news by categories

📑 View full details of individual news articles

📱 Fully layout desktop

⚡ Fast loading using React dynamic routing

🧭 Protected route for "News Details" (requires login)

🛠️ Tech Stack React.js – Front-end framework

React Router DOM – Client-side routing

Firebase Auth – Authentication and user state management

Tailwind CSS – Styling

DaisyUI – Prebuilt components

Axios / Fetch – API communication

React Icons – Iconography

🌐 API Integration All news data is fetched from the Programming Hero News API:

Base URL: https://openapi.programming-hero.com/api

📚 Endpoints Used: GET /news/categories – Fetch all news categories

GET /news/category/{category_id} – Fetch news by category

GET /news/{news_id} – Fetch single news details

🔧 Project Layouts The application is structured using three layout templates for better content organization:

Main Layout – Navigation, routing, etc.

Category Layout – Dynamic listing of category-wise news

News Details Layout – Detailed view of selected article (protected)

📸 Screenshots

Home page 68747470733a2f2f692e6962622e636f2e636f6d2f734a46777354425a2f686f6d652d6c61796f75742e706e67

News Details by category 68747470733a2f2f692e6962622e636f2e636f6d2f345a4a33774266712f6e6577732d64657461696c732d6c61796f75742e706e67

Login page 68747470733a2f2f692e6962622e636f2e636f6d2f425674767767624e2f617574682d6c61796f75742d6c6f67696e2e706e67

Register page 68747470733a2f2f692e6962622e636f2e636f6d2f3237526d743743352f617574682d6c61796f75742d72656769737465722e706e67

🧑‍💻 Author Rakib Hasan 📧 dev.rakibhasan1@gmail.com 🔗 GitHub Profile