Giter VIP home page Giter VIP logo

covid's Introduction

Covid App

iOS University Project about tracking corona virus cases world wide, and allowing the users to activate quarantine mode.

Swift Version codecov.io

Requirements

  • Xcode 12.x
  • iOS 14 and above

Setup

Install iOS project dependencies and third parties

Project uses ruby gems cocoapods in order to install dependencies.

So first we need to run in our terminal: Sudo gem install cocoapods

Then navigate to project directory:

pod install

Open Covid.xcworkspace (don't open Covid.xcodeproj as the app won't compile) Then the project is ready to use within Xcode IDE.

Main Dependencies

IQKeyboardManagerSwift

Used to manage keyboard.

lottie-ios

Used for the loader and launch screen animations.

Charts

Core features:

8 different chart types Scaling on both axes (with touch-gesture, axes separately or pinch-zoom) Dragging / Panning (with touch-gesture) Combined-Charts (line-, bar-, scatter-, candle-stick-, bubble-) Dual (separate) Axes Customizable Axes (both x- and y-axis) Highlighting values (with customizable popup-views) Save chart to camera-roll / export to PNG/JPEG

App architecture

The app uses MVC architecture (Model View Controller)

MVC โ€“ short for Model-View-Controller โ€“ is Apple's preferred way of architecting apps for its platforms, and so it's the default approach used by most developers on Apple platforms. In MVC each piece of your code is one of three things: Models store your data, such as the names of products in a store.

Architecture

Folder structure

  • Models - models of the app
  • Controllers - contains the main controller of the app "HomeViewController"
  • ThirdPartySDK - classes related to charts used by 3rd party charts sdk.
  • Views - custom views and extensions.
  • Networking - classes related to networking. It contains general classes.
  • Storyboards - it contains all storyboards of the app.
  • Constants - contains the contants file.
  • Authentication - Contains classes responsible for authentication flow
  • Resources - asset file + animations.json

Coding Style guidelines

  • There should not be any force unwrapping in code. We're using optional unwrapping in order to prevent crashes of production app and to not disturb user experience.
  • There should be empty line after imports and before class, struct, enum definition.
  • There should not be empty line before method name and first line of method body
  • There should not be any spaces before opening or closing brackets
  • There should not be any trailing white spaces in new lines

covid's People

Contributors

jaafar-barek avatar

Watchers

James Cloos avatar Jaafar Barek 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.