Skip to content

a SwiftUI-based News Aggregator app built with Clean Architecture. It features category-based browsing, keyword search, real-time push notifications, and a modern grid layout. Integrated with NewsAPI, Firebase, and CI/CD pipelines for a smooth and responsive user experience.

Notifications You must be signed in to change notification settings

pablocg11/FlashNews

Repository files navigation

FlashNews 📱📰

FlashNews is a SwiftUI-based News Aggregator app built with Clean Architecture principles. It allows users to access the latest news articles, search for specific topics, and receive real-time push notifications.

The app integrates with NewsAPI (which provides the latest headlines) and is limited to 100 requests per day on the free plan.

Features ✨

  • LazyVGrid Layout: Display news articles in a LazyVGrid for a smooth, grid-based layout that adapts to different screen sizes. 🏙️
  • Category-Based News: Browse news by categories like General, Business, Sports, Technology, and more. 📰
  • Searchable News: Easily find articles using specific keywords. 🔍
  • Article Details: View in-depth articles with complete details and source information. 📖
  • Share Articles: Easily share articles with others through social media or messaging apps. 📲

Tech Stack 🛠️

  • SwiftUI: For building the user interface using a declarative syntax. 🖥️

  • Firebase Cloud Messaging: For push notifications. 📲

  • Firebase Crashlytics: For real-time crash reporting and debugging. 🐛

  • Clean Architecture: For separating concerns and ensuring maintainability. 🧠

  • DTOs: For clean and structured data transfer. 💡

  • MVVM: For clean code and better maintainability. 🧹

  • NewsAPI: To fetch the latest news via NewsAPI’s Top Headlines Endpoint. 📰

  • Dependency Injection with Composition Root: Manages dependencies using a Composition Root that follows the Factory Pattern for instantiating services and components, ensuring decoupling and better testability. ⚙️

  • SwiftLint configuration: to ensure clean code practices

  • CI/CD with Bitrise: Automated continuous integration and delivery to streamline testing, building, and deployment processes, ensuring faster feedback and a more stable release cycle. 🔄

  • Lottie: For adding smooth and engaging animations to the app. 🎬

Screenshots 📸

Home Screen Detail Screen Search Screen

About

a SwiftUI-based News Aggregator app built with Clean Architecture. It features category-based browsing, keyword search, real-time push notifications, and a modern grid layout. Integrated with NewsAPI, Firebase, and CI/CD pipelines for a smooth and responsive user experience.

Topics

Resources

Stars

Watchers

Forks