AppNews
Простое приложение для загрузки новостей из интернета с возможностью добавления их в закладки и обновлением списка новостей.
Стек: UIKit, MVC, TableView, CollectionView, UserDefaults, NSCache, SafariServices.
=======================================================================================
Подробное описание
- Проект написан на UIKit;
- Использована архитектура MVC;
- Использованы TabBarController, NavigationController;
- Использованы TableView с кастомными ячейками;
- Использованы CollectionView c кастомными ячейками и кастомным Layout (за основу реализации была взята статья-гайд из raywenderlich.com;
- Реализована постраничная загрузка новостей (1 страница = 20 новостей);
- Реализован жест pull to refresh (UIRefreshControl);
- Загрузка из интернета по API (newsapi.org) картинки, тайтла, краткого описания, автора, времени публикации и URL источника новости;
- Сохранение загруженных из сети картинок в кэш;
- Возможность просмотра оригинального источника новостей через браузер Safari;
- Реализован ScrollView для айфонов с маленьким экраном при открытии новости;
- Реализовано сохранение новостей в закладки с помощью UserDafaults;
- Реализовано удаление новостей из закладок через свайп;
- Кастомный AlertViewController с обработками различных ошибок;
- Приложение проверено на утечки памяти;
- Добавлена иконка приложения.
Что еще планируется реализовать/исправить
- Добавить счетчик просмотров для каждой новости;
- Внедрить MVP архитектуру;
- Реализовать DI для каждого модуля и слоев;
- Реализовать Coordinator;
- Реализовать категории выбора новостей;
- Написать Unit/UI-тесты.