/android_sns2.0

android application sns2.0 source code

Primary LanguageJava

sns2.0

My second android sns application. This application is progressed version compared with android sns 1.0 application.

해당 프로잭트는 android sns 1.0 application 프로잭트보다 더 진화된 SNS 애플리케이션 입니다. 서버를 도입하여 다른 사용자들과 소통할 수 있도록 구현했습니다.

어플 시연 영상

목차

기술 스택

언어: java, php, javascript

프로토콜: HTTP, TCP/IP, WebRTC

서버 호스팅: AWS EC2

서버 운영체제: Ubuntu

서버 프로그램: Apache2, socket server, signaling server(node.js socket.io)

데이터베이스: MySQL

라이브러리: Glide, Retrofit2, Gson, ExoPlayer2, FCM, TedImagePicker, TedBottomPicker, TedPermission...

주요 기능

회원가입 및 자동 로그인

  • 회원가입시 항목의 유효성을 실시간으로 검사하여 피드백 제공
  • 이메일 인증 요구
  • 한 번 로그인을 하면 자동 로그인

메인 페이지

  • 사용자들이 업로드한 게시물들을 볼 수 있는 페이지
  • 게시물은 이미지나 동영상으로 구성
  • 동영상 게시물의 경우 화면 터치를 통한 소리 on/off 가능
  • 페이징 처리를 하여 최하단으로 내려가면 다음 게시물 로딩.

마이 페이지

  • 개별 사용자의 정보를 모아둔 페이지

  • 사용자가 업로드한 게시물에 대해 격자형, 수직 나열형 보기 방식 제공

  • 팔로잉/팔로워를 확인할 수 있으며 팔로잉 유저나 팔로워의 페이지 방문 가능

  • 프로필 수정을 통해 프로필 사진, 닉네임, 이름, 소개와 같은 항목 수정 가능

게시물

  • 이미지 업로드의 경우 이미지 선택 후에도 이미지 순서나 구성 편집 가능
  • 장소 등록 가능
  • 동영상 업로드의 경우 동영상 선택 후에도 다른 동영상 선택 가능
  • 게시물 수정/삭제 가능

댓글/대댓글

  • 게시물에 댓글 추가/수정/삭제
  • 게시물에 대댓글 추가/수정/삭제

좋아요

  • 좋아요를 통해 게시물에 대한 호감 표시 기능
  • 좋아요 리스트에서 좋아요를 누른 사용자들을 확인하고 페이지에 방문 가능

팔로우

  • 다른 사용자 팔로우/언팔로우 기능
  • 마이페이지에서 팔로잉, 팔로워 목록 확인

해시태그

  • 특정 키워드의 해시태그가 달린 게시물들만 모아서 조회 가능

검색

  • 사용자, 태그, 장소를 필터로 검색 가능
  • 검색어가 일부 문자열만 포함해도 모두 조회

  • 사용자 검색의 경우 이름이나 닉네임으로 검색

  • 태그 검색을 통해서 해당 태그가 달린 게시물 조회

  • 장소 검색을 통해 검색된 장소에서 업로드된 게시물 조회
  • '주변 게시물'의 경우 해당 장소의 주변에서 업로드된 게시물을 모아서 출력(주변 거리 설정 가능)

채팅

1-n_chat

  • 1:1채팅, 단체 채팅 가능
  • 전송 가능한 메세지 컨텐츠: 텍스트, 이미지, 동영상
  • 채팅방 생성 후 사용자 초대 가능
  • 메세지를 확인하지 않은 인원수 표시

content_drawer

  • 채팅방에서 공유된 이미지, 동영상들을 모아서 볼 수 있는 서랍 기능
  • 채팅방 서랍에서 복수의 이미지와 동영상 다운로드 가능

영상통화

face_call

  • 전/후면 카메라의 전환 가능
  • 앱에서 벗어나는 경우 상대방에게 피드백 전달과 함께 화면 스트리밍 중단(상대방이 돌아오면 다시 스트리밍 시작)
  • 음소거 기능

알림

follow_notification

chat_notification

  • 알림 종류: 좋아요, 팔로우, 댓글(대댓글), 채팅
  • 어플을 실행중일 때 알림이 오는 경우 화면에 표시
  • 어플을 실행중이지 않을 때 알림이 오는 경우 푸시 알림이 오게 되고 해당 알림 클릭시 알림을 유발한 컨텐츠 확인 가능