Aplicación SwiftUI para visualizar datos de Github dados un usuario y un token (Github token), implementa autenticación biométrica mediante FaceID.

Overview

ios-app-swift-gitapp

Aplicación SwiftUI para visualizar datos de Github dados un usuario y un token (Github token), implementa autenticación biométrica mediante FaceID.

Implementación

La aplicación está escrita en Swift con SwiftUI, implementa el patrón de arquitectura MVVM y una estructura similar a lo que se especifica para Clean Code.

Se utiliza biometría como factor de autenticación posterior al registro del usuario, el registro se basa en colocar el username y un token de Github que debe tener al menos permisos de repositorio (carga de repositorios privados).

Los servicios que se consumen son los siguientes:

Repositorios: https://api.github.com/search/repositories?q=user:{username}

Commits: https://api.github.com/repos/{username}/{reponame}/commits

Info de usuario: https://api.github.com/users/{username}

Se debe de enviar el token de usuario en el HEADER del request (Bearer ghp_XXXXXXXXXXXXXXXX...) para el field Authorization.

Para almacenar los datos de utiliza UserDefaults (usuario) y Keychain (github token).

Como se ve?

oie_2712214mXHJB9oR

Importante

El proyecto no usa Pods ni ninguna librería/paquete de terceros.

TODO

  • Pruebas unitarias
  • Git worflow
You might also like...
This is an example project of SwiftUI and Combine using GitHub API.
This is an example project of SwiftUI and Combine using GitHub API.

SwiftUI-Combine-Example This is an example project of SwiftUI and Combine using GitHub GET /search/users API. 📋 Requirements Swift5.1 Beta Xcode11.0

 catchPikatcuApp - My first app on GitHub.
catchPikatcuApp - My first app on GitHub.

catchPikatcuApp My first app on GitHub. import UIKit class ViewController: UIViewController

Green-grass-ios - GitHub Gardener? Start with Green Grass
Green-grass-ios - GitHub Gardener? Start with Green Grass

Green Grass 🌿 Introduction GitHub Gardener? Start with Green Grass! This app ma

Github repo search with using mvvm-c and clean architecture and using combine swift

GitSearchWithMVVM-C-CleanArchitecture Github repo search with using mvvm-c and clean architecture and using combine swift. Content Overview How To Run

GitHub-User is an iOS native application, written in Swift programming language.
GitHub-User is an iOS native application, written in Swift programming language.

#GitHub-User GitHub-User is an iOS native application, written in Swift programming language. This project is an interview take home project. The arch

GitHub Notifications in your pocket.
GitHub Notifications in your pocket.

Gitify Mobile If you are looking for the desktop version - manosim/gitify. Download Available for free on iOS & Android. App Store Google Play Store P

Show off your GitHub contributions from your lock screen 📱
Show off your GitHub contributions from your lock screen 📱

GitHubContributionsiOS V2 NOTICE: V2 is published. It is a complete rewrite using SwiftUI and Catalyst. Source code are now hosted on the version/2.x

Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs
Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs

Github Profile Repos Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs. This project is currently in pro

Desafio final em grupo do treinamento em desenvolvimento iOS
Desafio final em grupo do treinamento em desenvolvimento iOS "go!dev by Idwall". O projeto consiste em um aplicativo de busca e visualização de repositórios do Github e a possibilidade de favoritá-los.

StarRepo 🎯 Objetivo O objetivo deste projeto é criar um aplicativo iOS, proposto como desafio final do treinamento "go!dev by Idwall", para busca e v

Owner
null
Swift Playgrounds desenvolvido para o Swift Student Challenge da WWDC 21

Pile Up Swift Playgrounds desenvolvido para o Swift Student Challenge da WWDC 21 Descrição Pile Up é um quebra cabeça cujo objetivo é empilhar os bloc

Beatriz Sato 3 Jun 5, 2021
Projeto utilizando Flutter para desenvolver uma aplicação com o objetivo de gerenciar uma lista de livros, como se fosse uma biblioteca, sendo possível adicionar, editar e excluir livros.

todo_list_flutter A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

César Vargas Júnior 0 Nov 4, 2021
Repositório com app exemplo para o uso do gráfico de Heatmap

HeatmapExample Repositório com app exemplo para o uso do gráfico de Heatmap O gráfico Heatmap retrata os dados entre duas variaveis diferentes como um

null 0 Nov 5, 2021
Diseño para prueba técnica de MayaSoft

FrontPet Prueba de diseño para MayaSoft Desarrollado en Swift Instalación Clonar este repositorio y entrar a la carpeta FrontPet cd FrontPet pod insta

Jonnattan Choque 0 Nov 2, 2021
Repositório para estudos dos 5 princípios conhecidos como SOLID.

SOLID ?? Repositório para estudos dos 5 princípios conhecidos como SOLID. O que é SOLID? SOLID é um acrônimo dos cinco primeiros princípios da program

Rayana Prata 3 May 23, 2022
Cliente de iOS escrito en Swift para el módulo de Concurrencia y Red del bootcamp Fullstack Mobile Developer de KeepCoding

DiscourseClient Descripción Práctica del módulo de "Concurrencia & Red" para el KeepCoding Fullstack Mobile Developer Bootcamp, en su 13ª edición. Cli

Donato Gómez 0 Jun 6, 2022
SafeTimer es una app para iPhone y Apple Watch que te ayuda a controlar el tiempo que has usado una mascarilla.

SafeTimer es una app para iPhone y Apple Watch que te ayuda a controlar el tiempo que has usado una mascarilla.

Chubby Apps 13 Sep 20, 2022
This is an example project of SwiftUI and Combine using GitHub API.

SwiftUI-Combine-Example This is an example project of SwiftUI and Combine using GitHub GET /search/users API. ?? Requirements Swift5.1 Beta Xcode11.0

Ryo Aoyama 436 Jan 5, 2023
Sample iOS project built by SwiftUI + Flux and Combine framework using GitHub API

SwiftUI-Flux Flux enables us to have unidirectional data flow and make it testable. It's used to be implemented using RxSwift or ReactiveSwift in the

Yusuke Kita 87 Nov 25, 2022
Sample iOS project built by SwiftUI + MVVM and Combine framework using GitHub API

SwiftUI-MVVM One of the biggest idea for having MVVM is that most of data flow can be testable. Data binding in view layer by SwiftUI is awesome. Howe

Yusuke Kita 592 Jan 2, 2023