team-d1's People
team-d1's Issues
이미지 디스크캐싱 기능 구현
이미지 디스크캐싱 기능 구현, 새로운 이미지를 앱 내 Document 폴더에 저장하고 요청시 확인하여 이미지를 불러올 수 있도록 기능 구현
이미지 메모리캐싱 기능 구현
기본적인 이미지 메모리캐싱 기능 구현
페이지 레이아웃 새로고침 가능하게 설정
작가 정보화면 기본구성
작가 정보화면 스크롤뷰 구현, 사용자 정보 편집을 위한 인터페이스 추가
메인뷰에서 사진을 요청하면 사용자가 볼 수 있게 레이아웃을 미리 보여주는 기능
- 사진을 가져오는데에 시간이 오래걸리기 때문에 미리 레이아웃을 보여줄 수 있는 뷰를 만든다
이미지 가로/세로 분류 알고리즘 구현
입력된 이미지 값에 따라 가로와 세로를 분류하는 기능 추가
다국어 지원 아랍어 추가
앱에 다국어 지원 추가 및 지원 언어 아랍어 추가
작가 정보화면 작품목록 구현
작가 정보화면에서 작품목록 셀 구현, 셀에 편집을 위한 체크박스 구현 및 인터페이스 구현
작품 표시 화면 UI 변경
현재 화면 구성을 버리고 앱내 사진 앨범에 사진 표시 참고하여 화면 변경, 작가 및 작품설명 위치도 적절하게 변경
인스타 뷰 collectionView 추가
이미지 흑백/컬러 분류 알고리즘 구현
이미지의 RGB값에 따라 흑백과 컬러를 분류하는 기능 추가
이미지 캐싱 기능과 이미지 다운로드 네트워킹 기능 연결
분리되어 구현되는 캐싱 기능과 이미지 다운로드 네트워킹 기능 연결
메인 뷰에서 contentSize에 따른 FooterView적용
회원가입 화면 구현
앱을 처음 이용하는 사용자가 회원등록을 할 수 있도록 회원가입 화면 추가
작품 등록 화면
작품 등록화면 타이틀, 탭제스처를 통한 이미지 피커, 텍스트 필드 구현
ArtworkViewController에 사용자 정보 불러오기 기능 추가
Artwork의 uid를 바탕으로 사용자 정보 불러올 수 있도록 추가
인스타 뷰 알고리즘 구현
뷰수에 맞춰 높은 뷰를 크게 보여주는 기능 추가
앱 내 데이터 베이스 접근 기능 추가
앱 내 데이터 베이스에 접근하여 새로운 값 및 변경 값 저장할 수 있는 기능 추가, 네트워킹에서 가져온 데이터와 앱 내 데이터 베이스를 비교하여 중복된 값을 식별하는 기능 추가
앱 내 코드에서 다국어를 지원할 수 있도록 변경
이전에 한국어로 표시된 사용자에게 보여주는 텍스트를 다국어 키값으로 변경 및 지역화 설정 추가
다국어 지원 영어 추가
앱에 다국어 지원 추가 및 지원 언어 영어 추가
SQLite Database 연결 구성
SQLite의 데이터 베이스에 접근 할 수 있는 기능 추가
메인뷰 가로/세로 모드 레이아웃 호환성 적용
CollectionView를 이용한 무한스크롤 구현
-
TableView 무한스크롤을 구현해본다 (https://www.raywenderlich.com/5786-uitableview-infinite-scrolling-tutorial)
-
해당 내용을 CollectionView에 적용해본다.
-
서버와 연결한다
-
구현한 알고리즘과 결합한다.
자료구조 설계
네트워킹과 앱 내 데이터 베이스에 적용할 자료구조 정의
ArtistViewController의 사용자 정보 적용 기능 추가
사용자 정보를 확인하고 ViewController의 정보를 수정할 수 있도록 수정
인스타 뷰구현을 위한 핀터레스트 뷰 구현
인스타 뷰구현을 위한 핀터레스트 뷰 구현 / Firebase Rest API를 이용한 유저 계정 생성
작가 정보화면 상세정보 구현
작가 정보화면의 이름 및 한줄 평 표시 부분 구현, 편집 적용할 수 있도록 설계
작품 등록 화면 개선
upload network test
메인화면 필터 기능 추가
메인화면에 이미지 종류에 따라 필터 기능 추가
로그인 화면 구현
앱을 이용하기 위한 로그인 화면 구현
Firebase Rest API를 이용한 데이터 베이스 연결
Firebase의 데이터 베이스에 연결 할 수 있도록 RestAPI 객체의 네트워킹 연결
작품상세화면 구현
이미지 표시 화면 구현, 스크롤뷰를 이용한 확대 및 축소, 앱 종료 애니메이션 구현
Network layer URL 비동기 처리
Firebase Rest API를 이용한 유저 계정 생성
pagination 스크롤 부드럽게 적용 구현
Firebase API Module로 리팩토링
메인뷰의 레이아웃을 구성하기 위한 offset을 제공하는 OffsetPointer 를 이용하여 좌 / 우 경우에 모두 적용
-
OffsetPointer의 값을 조정하여 Position이 left right일 경우에 대처한다.
-
뷰수가 가장 큰 artwork를 레이아웃에서 2x2사이즈 뷰로 조정한다.
Firebase Rest API Wrapper에 DI를 적용하고 내부 구현을 수정합니다.
-
Network라는 일반적인 네트워킹을 커버해줄 수 있는 프로토콜을 만들고 그것을 채택하는 Worker 구조체를 만들었습니다
-
ResponseParser 프로토콜을 만들고 그것을 채택하는 JsonParser로 전반적인 Json parsing을 처리하게 하였습니다
-
RequestMakable 프로토콜을 만들고 그것을 채택하는 RequestMaker를 구현하여 request를 만드는 일을 전담시켰습니다
-
목표인 파이어베이스 wrapping을 위해 FirebaseDatabase, FirebaseStorage, FirebaseAuth를 만들고 내부에서는 네트워크 관련 로직을 모르게하였습니다.
-
위 나열한 프로토콜들을 파이어베이스 객체모델에 주입하는 형식으로 작성하였습니다.
-
이후 init이 커지게 되어 factory를 만들어서 조금 더 유용하게 구성해볼 계획입니다.
다국어 지원 독일어 추가
앱에 다국어 지원 추가 및 지원 언어 독일어 추가
작품 상세 화면(PhotoViewController)의 이미지 표시 비율 변경
지금보다 작게 보기 편하도록 수정
메인뷰 알고리즘을 각 기기에 맞게 적용 및 테스트 / 리팩토링
-
iPhone 5s / 6 / XR 테스트
-
알고리즘과 뷰를 리팩토링
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.