Giter Site home page Giter Site logo

toshiyana / employeeroster Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hadanischal/employeeroster

0.0 1.0 0.0 31.76 MB

An iOS demo application that demonstrates the support roster exhibiting the MVVM + RxSwift + Realm + Unit test.

Shell 1.69% Ruby 0.96% Swift 97.35%

employeeroster's Introduction

EmployeeRoster

Requirements:

  • iOS 13.0+
  • Xcode 11.6
  • Swift 5.2

Objective:

This sample app to demonstrate some aspect of clean architecture using MVVM pattern, RxSwift, dependency injection, SOLID principles , loose coupling, unit testing, Dark mode support and some of the best practices used in modern iOS programming using Swift.

App Goal:

  • This project was intended to work as a Employee Roster demo projects for iOS using Swift.
  • The demo uses the Employee Roster API which returns information in a JSON format.
  • Use of UITableViewController to display Employee roster list information.
  • Implemented Unit test for business logic.
  • Use of RxSwift for Reactive programming.

Installation

  • Xcode 11.6(required)
  • Clean /DerivedData folder if any
  • Run the pod install pod install
  • Run Cuckoo script to Mock your Swift objects ./Cuckoo-GeneratedMocks.sh
  • Run SwiftGen script to generator Swift code for assets, Localizable.strings etc ./generate-swiftgen.sh
  • Then clean and build the project in Xcode

3rd Party Libraries

Technical notes:

  • MVVM - My preferred architecture.
    • MVVM stands for “Model View ViewModel”
    • It’s a software architecture often used by Apple developers to replace MVC. Model-View-ViewModel (MVVM) is a structural design pattern that separates objects into three distinct groups:
  • Models hold application data. They’re usually structs or simple classes.
  • Views display visual elements and controls on the screen. They’re typically - subclasses of UIView.
  • View models transform model information into values that can be displayed on a view. They’re usually classes, so they can be passed around as references.

Alt text

Screenshot:

Screen Shot 1

App Demo

employeeroster's People

Contributors

hadanischal avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.