Skip to content

wafflestudio21-5/team3-server

Repository files navigation

team3-server


Logo

TEAM 3 토이프로젝트
에브리와플


GitHub contributors GitHub stars GitHub forks GitHub language count

GitHub contributors GitHub stars GitHub forks GitHub language count



📖 목차

  1. 프로젝트 소개 (Intro)
  2. 개발 일정
  3. 기능설명
  4. 설치 안내
  5. 기술 스택
  6. 팀 정보


📚 프로젝트 소개

💡 선정 배경

대학생들에게 가장 친숙한 앱 서비스
사용자, 게시판, 댓글 중심의 서비스이므로 클론 코딩하기에 적합하다 판단
현재의 에브리타임 앱 서비스는 확장할 만한 기능들이 많은 것 같아서 추가 기능 구현 용이

위와 같은 이유로 인해, TEAM3는 에브리타임을 클론 코딩하기로 결정하였습니다!

👍 기본 기능

로그인/소셜 로그인 : 사용자 구분을 위한 기본적인 로그인 기능

게시판/댓글 작성 기능 : 에브리타임의 주요 기능인 글 및 댓글/대댓글 작성 기능

쪽지기능 : 다른 사용자와의 소통을 위한 쪽지 기능

해당 기능에 대한 시연영상은 기능설명 에서 확인할 수 있습니다.


👍 추가 기능

1:1 랜덤 쪽지 기능 : 모르는 사람과의 대화 세션 생성 기능

투표 게시판 기능 : 토론이 활발해지는 주제에 대해 투표를 추가할 수 있는 기능

해당 기능에 대한 시연영상은 기능설명 에서 확인할 수 있습니다.



📆 개발 일정

개발 일정
스프린트1 ~12/30 1. 클론 서비스 확정

2. 프론트 및 백엔드 개발 컨벤션 수립
스프린트2 ~1/13 1. AWS 배포 세팅 및 프론트엔드/백엔드 api 테스트

2. 회원가입/로그인 기능 구현

3. 유저페이지(마이페이지 구현)
스프린트3 ~1/27 1. 게시판 및 댓글 작성 기능 구현

2. 페이지네이션 구현

3. 쪽지 기능 구현
스프린트4 ~2/3 1. 랜덤 쪽지 기능 구현

2. 투표 게시판 기능 구현

3. 디자인 개선 및 디버깅

📃 기능 설명

  • 회원가입 로그인

Screen_Recording_20240203_161304_everywaffle.mp4
기본 회원가입 기능
기본 로그인 기능
Screen_Recording_20240203_161333_everywaffle.mp4
카카오 로그인 기능

  • 게시판 기능

Screen_Recording_20240203_170356_everywaffle.mp4
기본 게시판 기능
댓글 및 대댓글 작성
Screen_Recording_20240203_170428_everywaffle.mp4
Screen_Recording_20240203_170611_everywaffle.mp4
내가 쓴 글
댓글 단 글
스크랩 한 글

  • 투표 게시판 기능

투표 글에 대해 투표 가능
Screen_Recording_20240203_171724_everywaffle.mp4

  • 쪽지 기능

Screen_Recording_20240203_172047_everywaffle.mp4
사용자에게 쪽지 보내기 기능
쪽지 리스트 및 쪽지 보내기
Screen_Recording_20240203_172220_everywaffle.mp4
Screen_Recording_20240203_172348_everywaffle.mp4
랜덤 쪽지 보내기

그밖에도 다양한 기능이 앱에 존재합니다! 설치 안내 에서 apk 파일을 받아 직접 사용해보세요!


🔧 설치 안내 (Installation Process)

서버 설치

$ git clone https://github.com/wafflestudio21-5/team3-server.git
$ cd team3-server
$ ./gradlew build
$ ./gradlew bootRun

안드로이드 앱 다운

안드로이드 앱은 다운로드 링크에서 다운받으실 수 있습니다.



🔨 기술 스택 (Technique Used)

Server(back-end)

1. DB, Framework
DB는 RDBMS의 MySQL을 사용하였고, 서버 프레임워크는 스프링부트 SpringBoot를 사용였습니다.

2. ORM
스프링에서 기본적으로 지원해주는 JPA를 사용했습니다.

3. Swagger for API Docs
백엔드는 프론트엔드 개발자들과 협업을 하기 위해 각각의 API에 대한 스펙을 적절한 방법으로 전달해야 합니다.
그 중 API Route별로 Response, Request Body의 형태를 상세히 기술한 API Document를 제작하는 경우가 흔한데, 이를 자동으로 생성해주는 Swagger을 사용하였습니다.

Front-end

1. Framework 안드로이드 앱 빌드를 위해 Android Studio를 사용하였습니다. 언어로는 Kotlin을 사용하였습니다.

Infra

1. 서버 인스턴스 서버 구동을 위해서, AWS에서 제공해주는 EC2를 사용하였습니다.

2. 버전 관리 도커 이미지로 서버를 빌드하게 되는데, 버전 관리를 더 용이하게 하기 위해 도커 이미지 관리 시스템인 ECR을 사용하였습니다. 해당 시스템을 통해 버전별 도커 이미지를 확인하고 PULL할 수 있습니다.



🏃 🏃 팀 정보 (Team Information)

TEAM3
TEAM3는 2명의 안드로이드 개발자, 4명의 스프링 개발자, 그리고 1명의 디자이너로 구성되어 있습니다.


Name Role Github E-mail
이현우
(팀장)
BackeEnd Developer
김건희 BackEnd Developer
한상우 BackEnd Developer
나예경 BackEnd Developer
이현도 App Developer
전준아 App Developer
정유정 Designer


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published