Project Structure - nimblehq/github-notifications-mac GitHub Wiki

The project follows the iOS chapter's standard file organization as structure below:

.
├── GithubNotifications
│   ├── Preview Content
│   └── GithubNotifications.entitlements
├── GithubNotificationsTests
├── GithubNotificationsUITests
└── Source
    ├── Application
    │   ├── AppDelegate
    │   ├── Configurations
    │   ├── Constants
    │   ├── LaunchScreen
    │   ├── Resources
    │   └── SceneDelegate
    ├── Extensions
    ├── Models
    ├── Module
    │   ├── Account
    │   │   ├── AccountScreen.swift
    │   │   └── AccountViewModel.swift
    │   ├── General
    │   ├── Login
    │   ├── Main
    │   ├── Repository
    │   └── SearchRepository
    ├── Services
    │   ├── Keychain
    │   ├── Network
    │   │   ├── API
    │   │   ├── Factory
    │   │   ├── Interceptors
    │   │   ├── RequestCOnfigurations
    │   │   └── Services
    │   └── NetworkPoll
    ├── Utilities
    └── Views

GithubNotifications

This folder contains .entitlement file and Preview Content with Preview Assets.xcassets inside.

GithubNotificationsTests

This folder contains the unit testing and integration testing of the main project. The unit testing and integration testing haven't been implemented.

GithubNotificationsUITests

This folder contains the UI testing of the main project. The UI testing hasn't been implemented.

Source

This folder contains the main sources of the project.

  • Application folder contains project configurations and resources files. For example Info.plist, LaunchScreen.storyboard, and Assets.xcassets.
  • Extensions, Models, Module, Services, Utilities, and Views folder contain only .swift files.