SSU-CSE-app / ssu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

그룹 알람 어플리케이션, Alarm Together

main image

✔️ 기획 의도

사람들은 대개 중요한 일을 앞두고 있을 때 알람을 설정하여 자신의 일정을 잊지 않도록 한다. 그러나, 깜빡 잊고 알람을 설정하지 못하거나, 설정하였더라도 알람을 미처 듣지 못한다면 낭패를 볼 수 있다. 또한, 개인적인 일 뿐만 아니라 지인들과 약속을 정하였을 때 역시 같은 이유로 약속을 지키지 못할 가능성이 있다. 더해서 알람을 설정하여도 터치 한 번이면 종료되므로 알람의 본연의 목적인 약속을 인지하고 그에 따른 행동을 수행하도록 만드는 강제성이 부족하다. 따라서, 이를 방지하고 자신이 설정한 알람이 의도대로 작동할 수 있도록 하기 위해선 기존의 알람보다 강제성이 더 높은 알람을 설정할 수 있는 어플리케이션이 요구된다.


✔️ 개발 목표

‘그룹 알람’이라는 시스템을 새롭게 만들어 기존의 알람보다 강제성이 높은 알람 서비스를 제공한다. 또한, ‘그룹 알람’ 뿐만 아니라 ‘개인 알람’ 기능 역시 제공한다.

i) 본인에게만 울리는 알람(개인알람)을 설정할 수 있는 어플리케이션을 개발한다.

  1. 사용자의 개인 알람 정보를 개인 알람 추가기능을 통해 서버에 업로드한다.
  2. 서버에 업로드된 개인 알람 정보를 받아와 사용자에게 표시하고 알람을 울리도록 한다.

ii) 여러 명이 공유하는 그룹알람을 설정할 수 있는 어플리케이션을 개발한다.

  1. 사용자의 정보를 회원가입 기능을 통해 서버에 업로드한다.
  2. 사용자의 친구 정보를 친구요청 및 수락 기능을 통해 서버에 업로드한다.
  3. 사용자의 그룹 정보를 그룹 추가기능을 통해 서버에 업로드한다.
  4. 사용자의 그룹 알람 정보를 그룹 알람 추가기능을 통해 서버에 업로드한다.
  5. 서버에 업로드된 친구, 그룹, 그룹 알람 정보를 받아와 사용자에게 표시하고 알람을 울리도록 한다.
  6. 사용자들의 알람 종료 여부를 서버에 업로드한다.
  7. 현재 알람을 종료한 사람과 그렇지 않은 사람을 사용자에게 전달할 수 있도록 한다.
  8. 서버에 업로드된 알람 종료 여부 정보를 받아와 알람을 종료할지 결정한다.

✔️ 어플리케이션 구조도

application structure map

사용자가 모바일 기기를 통해 로그인, 알람 목록요청, 친구 목록요청 등의 요청을 하면, php를 통해 서버에서 요청을 처리하고, 데이터를 반환한다. 또한, 회원가입, 개인 및 그룹 알람 추가, 그룹 추가 등을 수행하면 서버로 그 데이터를 전송해 저장한다.


✔️ Flowchart

flowchart

로그인에 성공하면 알람 탭으로 전환되며, 각 탭에서 해당 탭의 기능을 사용할 수 있다.


✔️ 개발 환경

서버 어플리케이션 버전관리
Ubuntu Server 18.04 Android Studio (Gradle Version 7.0.2) git
Nginx 1.14.0 (Ubuntu)
PHP 7.2.24
MySql 14.14

About


Languages

Language:Java 100.0%