방콕챌린지

이숭인·2021년 8월 19일
0

프로젝트 README

목록 보기
3/4

목차

  • 프로젝트 소개
  • Skills
  • Contributions
  • 세부 구현
  • 상세 화면
  • 어려웠던 기능, 기능 구현을 위한 고민

BangkokChallenge

첫 팀 프로젝트.

코로나의 영향으로 집 밖에 나가지 못하는 사람들의 놀이터를 만들어 보고자 기획한 프로젝트 입니다.

다른 SNS와 비슷하게 게시물을 작성할 수 있고 댓글, 좋아요 기능이 구현되어 있습니다. 작성한 게시물은 타임라인에 추가되어 다른 유저들이 확인할 수 있습니다.




Skills

  • Kotlin
  • Android Studio
  • OAuth - 2.0


Contributions

  • MVP 패턴을 적용해 프로젝트를 설계하고 구성하였습니다.

  • 카카오서버를 통한 카카오 로그인을 구현하였습니다.

  • Multipart 를 이용한 데이터 송수신을 통해 여러장의 사진 데이터들을 서버에 업로드 하였습니다.

  • 타임라인을 서버로부터 받아올 때에 메모리 효율성을 높이고자 페이징을 구현하였습니다.



세부 구현

1. 로그인 - Kakao OAuth

2. 타임라인 (SNS 게시물)
3. 게시물 작성

  • 파일 업로드 (Multipart 이용)

4. 게시물 상세화면

  • 댓글 - 수정, 삭제
  • 좋아요

5. 내 정보 화면

  • 게시물 수
  • 내 게시물 좋아요 수
  • 내 게시물 리스트

6. 좋아요 페이지

  • 내가 좋아요 누른 게시물 리스트 타임라인



상세화면



기능 구현을 위한 고민


1. Multipart를 이용한 여러 이미지 업로드 to 서버

서버측에서 이미지당 용량 체한 때문에 여러 이미지 를 보내거나 큰 용량의 이미지업로드 요청 하게 되면 업로드가 거절 됩니다.

  • 이미지 사이즈를 리사이징 하여 서버에 업로드 를 함으로서 용량 제한 문제를 해결했습니다.

2. 액세스 토큰

카카오 로그인 시 유저들은 각자의 토큰 을 발급받게 됩니다. 이 토큰은 게시물 작성 , 좋아요 , 댓글 기능을 서버로 요청 할 때 쓰입니다. 이 액세스 토큰 이 시간이 지나 만료되어 로그인 상태에서도 서비스를 받지 못하는 문제 가 있었습니다.

  • 서버에 어떤 작업을 요청할 때 우선 토큰의 유효성 을 검사하고 유효하다면 요청 , 유효하지 않다면 리프레시 토큰 을 새로 갱신 받아 서비스를 요청하는 방법으로 토큰 문제를 해결했습니다.
profile
iOS Developer

0개의 댓글