Code Monkey home page Code Monkey logo

wapp's Introduction

와피 - WAP 일정확인 및 설문조사 플랫폼




🌟 Download

다운로드하기 Google Play




🌱 Feature Introduce

인트로 화면




공지사항

  • WAP 정규 활동 및 행사를 달력과 목록을 통해 확인할 수 있어요.




출석

  • 행사마다 출석을 체크할 수 있어요.
  • 히스토리를 통해 출결상황을 체크할 수 있어요.




설문

  • 행사마다 설문 및 피드백을 작성할 수 있어요
  • 설문과 피드백을 통해, 더 좋은 행사로 발전할 수 있어요.




운영진

  • 회원들의 설문을 확인할 수 있어요.
  • 공지사항 및 설문을 등록할 수 있어요.
  • 출석을 시작할 수 있어요




그 외

  • 프로필
  • 프로필 더 보기




🏗️ Module Dependency Graph


🚩 Android Tech Stack



🍎 Contributors 🍌


JinHo Jeong

💻

Tgyuu An

💻
안드로이드 안드로이드
로그인, 운영진페이지, 설문, 일정 공지사항, 달력, 프로필, 출석, 애니메이션

🚀 Trouble Shooting

프로젝트 중 발생한 이슈에 대해 트러블 슈팅을 기록하는 공간입니다.

WAPP 트러블 슈팅


🏃‍♂️ Sprint

매주 수요일, 스프린트에 할당할 이슈를 지라와 깃헙에 등록한다. 스프린트 단위는 일주일이며, 개발 일정을 따른다.
목요일 오후 11시 30분까지 못 끝낸 이슈 하나당 스택 하나로 간주하며, 스택 세 개가 모였을 때 밥 한 끼를 사야 한다.

스프린트 기록


🎨 UI/UX

image

피그마 보러가기


💻 Code Convention

WAPP 안드로이드 코드 컨벤션


⛓️ Git Convention & Git Flow 전략

WAPP 깃 컨벤션

1. Issue를 생성한다.
2. feature Branch를 생성한다.
3. Add - Commit - Push - Pull Request 의 과정을 거친다.
4. Pull Request가 작성되면 작성자 이외의 다른 팀원이 Code Review를 한다.
5. Code Review가 완료되면 Pull Request 작성자가 develop Branch로 merge 한다.
6. merge된 작업이 있을 경우, 다른 브랜치에서 작업을 진행 중이던 개발자는 본인의 브랜치로 merge된 작업을 Pull 받아온다.
7. 종료된 IssuePull RequestLabelProject를 관리한다.

wapp's People

Contributors

jeongjaino avatar tgyuuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

wkdghdwns199

wapp's Issues

[FEATURE]: xml 걷어내고 Compose Navigation 도입

작업 사항

  • xml로 적용되어 있던 Navigation을 Compose Navigation으로 마이그레이션.

Compose 100% 가쥬아

Todo

  • xml로 적용되어 있던 Navigation을 Compose Navigation으로 마이그레이션

기타사항

Jetpack Compose Navigation 짱 쉽네..? 저만 따라오세요!
Jetpack Compose BottomNavigationView, 네비게이션을 알면 이건 덤입니다!

MultiModule 을 사용할 때 Compose Navigation 관리 법 공부중 !

[FEATURE]: 피그마 서브 페이지 UI/UX 구현

작업 사항

피그마로 UI/UX 먼저 구현하기.

링크

Todo

  • 스플래쉬 화면
  • 로그인 화면
  • 정보 입력 화면
  • 마이페이지 화면
  • 메인 페이지 화면

기타사항

메인 페이지 - 달력 / 공지사항 리스트

[FEATURE]: 운영진 인증 시스템 구현

작업 사항

Firestore를 활용한 운영진 인증 로직 구현

Todo

  • Firestore code, managers 테이블 구현
  • 등록된 운영진 중, 현재 userId 조회 로직 구현
  • 운영진 코드 검증 로직 구현

기타사항

운영 페이지 입장 -> 운영진 테이블에 현재 사용자 조회 -> 없는 경우 운영진 코드 작성 로직
운영 페이지 입장 -> 인가 -> 인증

No response

[CHORE]: Workflow 구현하기

작업 사항

Workflows 구현

  • Create Issues Workflow
  • 이슈 생성시 디스코드 메세지
  • 이슈 생성시 지라 이슈 함께 생성

PR, Issue -> Discord 메세지 전달

CI -> 빌드, 린트, 테스트 작업

Todo

  • Discord Web Hook 탐색 및 secret 설정
  • Github Action을 통해 Issue workflow 구현 (with discord)
  • Jira Web Hook 탐색 및 secret 설정
  • Github Action을 통해 Issue workflow 구현 (with jira)
  • Github Action을 통해 PR workflow 구현 -> 빌드 성공, 실패에 따라 디스코드로 알림,

[FEATURE]: 네비게이션 연결

작업 사항

네비게이션 및 Feature 모듈(화면) 연결

Todo

  • 네비게이션 생성
  • 네비게이션에서 연결될 빈 모듈(화면) 생성
  • 네비게이션 연결

기타사항

[CHORE]: 엔티티 수정 및 행사 데이터 변경

작업 사항

기능 변경으로 인한 엔티티 수정 및 운영진 엔티티 추가
행사 시간 데이터도 필요하여, 추가적인 컬럼 추가

Todo

  • 엔티티 수정 및 ERD 새로 그리기
  • 저장되어 있는 Firestore 데이터 시간 컬럼 추가

기타사항

No response

[FEATURE]: (관리페이지) 설문조사 불러오기 구현

작업 사항

관리 페이지에 들어갈

작성된 설문조사 불러오는 로직 구현 및 UI 구현

Todo

  • 공지사항 불러오는 로직 및 유스케이스 구현
  • 공지사항 컴포넌트 구현
  • 로직과 유아이 결합

기타사항

No response

[CHORE]: manage -> management renaming

작업 사항

클래스, 모듈 등등 manage -> management로 이름 수정

Todo

  • 모듈 네이밍 수정
  • 클래스 네이밍 수정
  • management 관련 함수 네이밍 수정

기타사항

No response

[FEATURE]: common 모듈 구현 및 예외 처리 로직 구현

작업 사항

  1. 네트워크 연결과 같은 비즈니스 로직 수행중 발생하는 예외에 관한 알림 로직 구현
  2. base Modue -> common Module 변경, common/base, common/extensions, commoon/etc

Todo

  • 예외 처리 로직 구현
  • 예외에 따른 SnackBar Component Composable 구현
  • common Module에 utils migration

기타사항

No response

[UI]: 설문조사 등록 UI 구현

작업 사항

운영진 설문조사 등록 UI 구현

설문 이름
유저 아이디
이벤트 아이디
설문 내용
후기
피드백
점수
등록 일자 등록

Todo

  • 설문조사 (설문 이름, 설문 내용) 등록 페이지 UI 구현
  • 설문조사 (후기, 피드백) 등록 페이지 구현

기타사항

No response

[CHORE]: 엔티티 설계 및 행사 데이터 베이스 구축

작업 사항

WAPP 엔티티 설계 및 행사 정보 데이터 확보 및 구축

Todo

  • 어플리케이션 엔티티 설계
  • ERD 다이어그램 구현
  • 행사 정보 데이터 확보
  • Firestore 행사 테이블 구현

기타사항

인생 첫 ERD 체험기 두두등장

[FIX]: 마감기한이 지나도 설문 보이는 버그 수정

작업 사항

마감 기한이 남은 설문만 보여지도록 로직 수정
기존 View에서 도메인 로직 수행하는 부분, 도메인 모델로 옮기기
비회원 권한에서 설문에 접근할 때, 따로 예외처리 구현 (현재는 알 수 없는 오류라고 발생)

Todo

  • 마감기한 로직 도메인 모델로 옮기기
  • 도메인 모델에서 현재와 데드라인 비교 로직 구현
  • 비회원일 때 회원가입으로 가는 디알로그 표시

기타사항

으라차차 !

[FEATURE]: 자동 로그인 구현

작업 사항

자동 로그인 기능 구현

Todo

  • Firebase Auth의 id를 조회 로직 구현
  • id값이 유효하면 홈화면으로 자동로그인 되도록 구현

기타사항

No response

[FEATURE] : 회원가입 로직 구현

작업 사항

회원가입 로직 구현

Todo

  • 로그인시 등록되지 않는 회원인 경우 회원가입으로 전환
  • 회원가입 Domain Model 구현
  • Firestore 데이터 저장

기타사항

No response

[FEATURE]: WAPP CustomCalendar 구현

작업 사항

WAPP CustomCalendar 구현

Todo

  • WAPP CustomCalendar 구현

기타사항

할 수 있을까............. 아자아자 파이팅......!

[FEATURE]: 안드로이드 프로젝트 생성 및 초기 세팅

작업 사항

다른 작업을 하기 위한 안드로이드 프로젝트 생성 및 초기 세팅 수행

Todo

  • 안드로이드 프로젝트 생성
  • core / feature 모듈 생성
  • Version Catalog, Custom Plugin 파일 및 모듈 생성

기타사항

No response

[CHORE]: Application Design Resource Set Up

작업 사항

어플리케이션 UI/UX에서 필요한 리소스 추가

Todo

  • core/designResource 모듈 생성
  • core/designSystem 모듈 생성
  • 사용할 색상/폰트 추가
  • Compose 종속성 및 플러그인 선언 및 구현

기타사항

designSystem - 컴포즈 관련 컴포넌트 함수
designResource - 각 feature 모듈이 사용할 공용 font / drawable / color Resource

[CHORE]: GitHook을 사용하여, 린트 적용하기

작업 사항

린트를 적용하기 위해 매번 터미널에서 포맷팅을 수행하기 전, GitHook을 통해 커밋시 자동으로 포맷팅할 수 있도록 구현한다.

보통의 프로세스
기능 개발 - 터미널에서 포맷팅 커맨드 입력(수동) - 커밋 - 푸쉬 - 피알 - 피알체크(린팅)

깃훅을 사용한 프로세스
기능 개발 - 커밋(자동으로 포맷팅) - 커밋 -푸쉬 -피알체크(린팅)

Todo

  • git hook pre commit 공유 스크립트 구현
  • 빌드 시 자동으로 hooks에 저장되는 빌드 함수 구현

기타사항

커밋 실행시간은 늘어나나, 린팅을 까먹고 적용안했을 때 발생하는 코스트보다 저렴하다고 판단됨.

[FEATURE]: 관리 페이지 스크롤 할 수 있도록 변경 및 상태 바 색상 변경

작업 사항

- LazyColumn 이 있는 페이지를 스크롤 할 수 있도록 변경합니다.

- 상태바의 색상을 변경합니다.

Todo

  • 공부
  • 적용
  • 상태바 색상 변경

기타사항

LazyColumn은 일반 Cloumn과 비슷하게 Column이므로,

Column 내부에 LazyColumn을 따로 두어서 스크롤 하게 두는 것은 정상적이지 못하다.

그렇기 때문에, LazyColumnColumn 을 병합해서 사용하자.

(기존 xml에서 NestedScrollView를 사용하지 않기 위해 여러가지 ViewHolder를 이용하는 것과 비슷한 맥락인 것 같다.)

https://stackoverflow.com/questions/66502096/how-to-disable-and-enable-scrolling-in-lazycolumn-lazyrow-in-jetpack-compose

[CHORE]: 관리 - 설문 모듈 분리

작업 사항

현재 관리 모듈에 메인 관리 페이지, 설문 추가 페이지, 설문 수정페이지, 행사 추가 페이지, 행사 수정 페이지, 작성된 설문 확인 페이지
모두 집중되어 있음.

관리페이지 중 설문에 관핸 내용 분할

Todo

  • 모듈 생성 및 세팅
  • 관련된 기능 마이그레이션 진행

기타사항

No response

[STUDY] : Compose 스터디

tgyuuAn

  • 젯팩 컴포즈로 개발하는 안드로이드 UI 1장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 2장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 3장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 4장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 5장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 6장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 7장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 8장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 9장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 10장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 11장

jeongjaino

  • 젯팩 컴포즈로 개발하는 안드로이드 UI 1장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 2장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 3장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 4장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 5장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 6장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 7장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 8장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 9장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 10장
  • 젯팩 컴포즈로 개발하는 안드로이드 UI 11장

기타사항

image

https://developer.android.com/jetpack/compose/documentation?hl=ko

읽으면서 개발 병행 하겠습니다.,,,!

재밌어서 쭉쭉 읽는 중이라 금방 다 읽을 듯

[FEATURE]: Firebase - Github 로그인 로직 구현

작업 사항

FirebaseAuth 연동으로 Github 로그인 로직 구현

Todo

  • FirebaseAuth - Github Token 프로젝트 설정
  • SignIn Response & Domain Model 구현
  • Github 로그인 구현 로직 및 유스케이스 구현

기타사항

첫 기능 구현 시작!

[CHORE]: Firebase 세팅 및 구축

작업 사항

Firebase 사용하기 위해 프로젝트 생성 및 종속성 추가하기

Todo

  • Firebase Project (Auth, firestore, Crashlytics, Analytics) 프로젝트 생성
  • google.service json 프로젝트 추가 및 Github secrets 등록하기
  • Version Catalog에 종속성 추가
  • Google Service Custom Convention Plugin

기타사항

이번에는 진짜로 Firebase Analytics Event 직접 찍어봅시다!

[FIX]: GitHook Linting 적용 에러 및 린팅 룰 재 설정

작업 사항

문제 상황

  1. Git Hook으로 정한 pre-commit이 실행이 되지 않음 -> 권한 문제로 추정
  2. 컨벤션상 맞는 문법임에도, 린팅오류로 인식함.

1 해결안 : GitHook을 수정 or 다른 방법 Task 실행 시 같이 실행되도록
2 해결안 : editor Rule을 설정

Todo

  • 린팅룰 수정
  • Git Action 임시 수정
  • 전체 모듈 단위에서 린팅 포매팅이 작동 되도록 수정
  • pre-commit script 수정

기타사항

No response

[FEATURE]: 운영진 인증 디알로그 구현

작업 사항

운영진 인증 디알로그 구현 및 로직 결합

Todo

  • 운영진 인증 디알로그 UI 구현
  • 도메인 로직과 결합
  • 다른 화면과 전환 설정

기타사항

No response

[FEATURE]: 설문 응답 저장 로직 구현

작업 사항

작성한 설문 리스트를 Firestore에 저장하는 로직 구현

Todo

  • Firestore 저장 로직 구현
  • 다른 정보를 불러와 엔티티에 맞게 변환하는 유스케이스 구현

기타사항

  • SurveyForm Respotiory, datasource 구성

  • managment datasource, management repository postSurveyForm 마이그레이션 및 survey datasource, repository surveyForm 로직 마이그레이션 오호 ~

  • surveyCheck navigation nav argument 구성

[UI]: 로그인 / 회원가입 화면 UI 구현

작업 사항

와피 로그인 / 회원가입 화면 UI 구현

Todo

  • Compose Custom Theme 설정
  • 로그인 화면 구현
  • 회원가입 화면 구현

기타사항

예외 처리
로그인/회원가입 테스트
는 어떻게 처리할 수 있을까요 ?

[FEATURE]: 설문 작성 Validation 로직 구현

작업 사항

설문 -> 설문 응답 클릭 시

  • 이미 작성한 설문인 경우 갈 수 없도록 구현

설문응답

  • 주관식 답변인 경우
    • 10자 이상

Todo

  • 작성된 설문에서 현재 userId, eventId가 같은 설문이 있는지 검사
  • 작성시 10자 이상만

기타사항

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.