https://github.com/maximalien/nycschools
https://github.com/maximalien/nycschools
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/maximalien/nycschools
- Owner: MaximAlien
- Created: 2023-01-25T03:03:49.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-29T19:27:29.000Z (over 3 years ago)
- Last Synced: 2024-12-29T06:08:34.122Z (over 1 year ago)
- Language: Swift
- Size: 3.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NYCSchools
### Networking
Major components of the project, which are responsible for sending network requests are:
- `Dispatchable` protocol and `Dispatcher` class. `Dispatcher` conforms to `Dispatchable` and allows
to send actual network request.
- `Endpoint` protocol. Allows to provide enough information for `Dispatcher` so that it can request the data
(URL, HTTP method, HTTP headers etc).
- `Service` protocol. Provides a blueprint for the extendable networking services that are based on
dispatchers.
### Appearance
Application supports different styles for both Light and Dark modes.
Light |Dark
:-------------------------:|:-------------------------:
 | 
 | 
### Documentation
Major components are documented. Descriptive comments are used whenever it makes sense to provide more clarity.
Multi-level logging is used to provide more flexibility during troubleshooting.
### Testability
Entities are implemented with testability in mind. Some of the components (like `Dispatchable`) have
been mocked and tested. Corectness of caching is verified by using unit-tests as well.