GithubHelp home page GithubHelp logo

easylunch-api's People

Contributors

dogdriip avatar npmachine avatar waffle-iron avatar

Watchers

 avatar  avatar  avatar

Forkers

waffle-iron

easylunch-api's Issues

프로젝트 설정

empty project를 설정한다.
다음 버전의 empty 레일즈 프로젝트를 생성하자.
ruby - 2.3.1
rails - 4.2.6
database - postgresql
.gitignore, readme.md 파일 설정

식사 후 정산 기능 구현

  • n빵 / 각자 지불을 나누는 스테이터스 코드 지정 (paying_avg, paying_sep)
  • MeetUp 업데이트시에 total_price를 필수값으로 변경
  • 생성된 MeetUp에 total_price가 없으면 속한 유저의 메뉴 등록을 막기
  • 모든 맴버가 가격 입력을 완료하면 자동으로 MeetUp의 상태를 completed로 변경

MealMeetUp 구현

API 구현 시작
API중 MealMeetUp 생성/변경 API를 구현한다.

버그 수정

  • 맴버 등록 성공 시 응답 스테이터스가 201이 아닌 200으로 나옴
  • 맴버 추가 시 이미 등록된 맴버를 제대로 필터링하지 못하고 성공 메세지 응답

Member 삭제 기능 추가

  • 초대가 잘못 된 Member를 삭제하는 기능 필요
  • Member를 삭제할 때 연결되어있는 모델들도 함께 삭제하도록 조치(Messenger, Log, Task)

Empty Slackbot 생성

향후 작업을 하기 위한 비어있는 슬랙봇을 만들자.
yolo slack 챗방에 "Hello World" 출력하자.

API명세 변경사항 반영

기존에 API 명세서에 email을 입력받는 필드가 있었지만
실질적으로 service_uid 로 통합 관리하는게 더 좋은 방법이라는 의견 반영

  • service_uidmessenger 필드, 그리고 messenger_room_id 를 주요 인증 수단으로 삼는다
  • MeetUp 생성과 정보 변경 시에만 admin_uid (해당 MeetUp 어드민의 service_uid)를 요구한다

MeetUp이 두개 이상일 시 Member추가 안됨

각기 다른 MeetUp을 생성하고 같은 구성원을 추가할 시
첫 번째 MeetUp에만 구성원이 추가되고 나머지는 추가되지 않는 버그 발생

구성원을 등록하기 전에 중복을 검사하는 부분에서 문제가 발생한 것으로 추정

MeetUp 상태 열람용 API 수정

  • admin_uid 를 굳이 안받아도 되고 messegner, room_id만 받아도 가능하도록 수정
  • 해당 MeetUp에 관련된 모든 정보(admin, total_price, members, member-price, member-status) 등을 모두 리턴하도록 수정

MeetUp 스키마 변경

  • 기존에 MeetUp의 스테이터스에 정의되어 있던 paying_avg, paying_sep 를 다시 paying 으로 바꾸고 지불 방법을 다른 필드로 추가하여 작성한다.
  • 지불 방법에 관한 내용을 API 명세서에 반영한다
  • 지불 방법이 있거나 없는 경우에 따른 오류를 고려한다

맴버 추가를 막는 방법 변경

  • MeetUp 모델에 member_fixed (BOOL) 필드 추가
  • 새 MeetUp 생성시 member_fixed (default false)
  • MeetUp 모델 Update시 member_fixed 값 확인하도록 수정 (없으면 에러)
  • 맴버 등록 할 때 member_fixed가 true이면 에러 출력

자동계산 기능 적용 시 발생하는 버그 수정

  • MeetUp의 계산방식이 N빵(자동계산) 상태일 때 개별 맴버가 가격 수정이 불가능하도록 수정
  • MealLog 업데이트 시 여전히 메뉴 이름을 필수로 요구하고 있는 점 수정 (가격만 업데이트 가능하도록)

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.