Skip to content

ArtemPrivet/ArtGallery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Art Gallery

The way to exlore arts
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. Acknowledgments

About The Project

Screenshots
Logo Logo

App is using an open API of Art Institute of Chicago.

  • Supports iOS 13.0+
  • Arcitecture: MVP+Router
  • UI: UIKit
  • Third-party libraries: Kingfisher
  • Dependency Manager: SPM
More Info: UIKit was chosen in this app since the minimum supported iOS version is 13. At this version, SwiftUI is relatively new and lacks stability.

Regarding the architecture, given the project's size, complex architectures aren't necessary. Therefore, I've implemented a Presenter to shift a significant portion of the logic away from the ViewController. This approach not only segregates responsibilities but also facilitates the testing of logic.

Additionally, I introduced a Router to extract navigation logic from the View. An alternative would have been using a Coordinator, but that seemed excessive for this project's scope.

The project is segmented into three modules: ArtGallery, Domain, and Networking.

ArtGallery: Contains all the screens and logic for them.

Domain: Contains all the models used in the project, along with relevant protocols.

Networking: Centralizes all the logic required to request data from the internet.

The only third-party library used is Kingfisher, which simplifies working with images.

(back to top)

Getting Started

You don't need any API keys to use this project. By default you have 60 request per minute. More info

Installation

  1. Clone the repo
    git clone https://github.com/ArtemPrivet/ArtGallery.git

Tests

Currently there are only tests in the main project, so to run them you need to press CMD+U within ArtGallery target

(back to top)

Roadmap

  • Use the fields parameter to tell exactly what fields to request.
  • Add better loading animations
  • Snapshot Tests
  • Improve UI

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Acknowledgments

(back to top)

About

UIKit app about arts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published