Skip to content

aligungor/GithubEvents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Events App

A comprehensive app for fetching, displaying, and interacting with GitHub events. This project demonstrates modern iOS development practices using Swift, Combine, MVVM architecture, and customizable views.

Features

  • Event Fetching: Fetches the latest GitHub events via a mockable EventService.
  • Event Display: Clean and responsive UI to list and display event details.
  • Filtering: Allows filtering of events by type (e.g., PushEvent, WatchEvent).
  • Auto Refresh: Automatically refreshes events every 10 seconds using a Combine-based timer.
  • Error Handling: User-friendly error messages and navigation for failed operations.
  • Dark Mode Support: Fully supports light and dark themes with adaptive colors.

Architecture

The app is built with the MVVM (Model-View-ViewModel) pattern:

  • Model: Represents raw GitHub events/event details and their attributes.
  • ViewModel: Handles data transformation, filtering logic, and publishing updates.
  • View: Displays event data in a clean, reusable manner with auto-layout.

Dependencies

  • Combine: For reactive programming.
  • UIKit: Used for building responsive, adaptive UI components.

About

Github Events App

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages