Giter Site home page Giter Site logo

virus-vaccine's Introduction

바이러스 백신 예약 서비스


시스템 구조

alt text


기술적 이슈 해결 사항

  • [#1] 대용량 트래픽을 처리하기 위해 서버확장을 어떻게 해야 할까?
    https://applecv3.tistory.com/3
  • [#2] 분산서버 환경에서 세션 관리를 어떻게 하면 좋을까?
    https://applecv3.tistory.com/2
  • [#3] AOP 개념을 적용해 중복되는 로직을 개선해보자! (with HandlerInterceptor, HandlerMethodArgumentResolver)
    https://applecv3.tistory.com/4
  • [#4] 디자인 패턴을 적용해 나쁜냄새나는 구조를 리팩토링 해보자!
    https://applecv3.tistory.com/5
  • [#5] 분산서버 환경에서 동시성 이슈를 효율적으로 해결해봅시다 (낙관적 락킹 vs 비관적 락킹)
    https://applecv3.tistory.com/6
  • [#6] OutOfMemory 에러를 해결해보자 ㅠㅠ
    https://applecv3.tistory.com/8
  • [#7] 데이터베이스 서버에 집중되는 부하를 분산하자 (Master-Slave)
    Coming Soon
  • [#8] 레디스 성능향상을 위해 캐시저장소와 세션저장소를 분리해봅시다

어플리케이션 기능

  • 사용자는 일반 사용자와 기관 사용자가 있습니다.
  • 백신의 종류는 Pf, Md, Az, Js, Nv 가 있습니다.
  • 일반 사용자는 선택한 위치의 반경에 있는 접종 기관 목록을 조회할 수 있으며, 백신 물량이 있는 접종 기관에 예약할 수 있습니다.
    • 접종기관 조회 시, 사용자 입력 기준 반경 5Km 내 접종기관을 조회합니다.
    • 접종기관 조회 시, 사용자는 원하는 백신의 종류를 선택하여 조회할 수 있습니다.
    • 접종기관 조회 시, 사용자는 잔여 물량이 있는 접종기관만 요청할 수 있습니다.
    • 백신 예약 시, 사용자는 접종시간을 선택할 수 없습니다.
    • 백신 예약 시, 잔여 물량이 1회 감소합니다.
    • 백신 예약 시, 기관의 백신 물량이 없으면 예약 할 수 없습니다.
    • 2회 예약 완료 시, 추가적인 백신 예약이 불가능합니다.
  • 기관 사용자는 자신의 기관에 물량을 등록 할 수 있고, 예약한 사용자를 확인할 수 있습니다.
    • 백신 물량 등록 시, 종류와 수량, 접종시간을 입력하여 등록합니다.

사용자 공통

  • 회원 가입, 로그인
    • 기관 회원 시 위치(위경도, EPSG:4326), 전화번호, 주소 등록

일반 사용자

  • 사용자로부터 5km 내에 위치한 잔여 물량이 있는 접종기관 목록 조회
    • 백신 브랜드 선택하여 조회 가능
    • 기관 상세정보 조회 가능 (전화번호, 주소)
  • 잔여 물량이 있을 경우 예약
    • 예약 시점에 물량이 없을 경우 실패
    • 백신 브랜드에 따라 예약 횟수 제한, 1회 혹은 2회

기관 사용자

  • 확보한 물량의 백신을 등록
    • 백신의 종류와 수량, 접종시간을 등록
  • 백신 예약자 리스트 확인

데이터 분석

  • 등록 횟수가 가장 많은 백신
  • 예약 횟수가 가장 많은 백신
  • 잔여 물량이 가장 많은 기관 및 지역

virus-vaccine's People

Contributors

applecv3 avatar changjunpark avatar f-lab-bot avatar f-lab-michael avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

virus-vaccine's Issues

[#bug-test] 버그 수정

  1. 로그인 성공 단위테스트 실패
  2. db 데이터 스크립트 문법 오류

두가지 문제 수정하겠습니다.

프로젝트 생성

프로젝트 생성 내용

  • JAVA 11
  • SpringBoot
  • Gradle
    • spring-boot-starter-web
    • spring-boot-starter-test

[#feature-data-stats] 데이터 통계분석

  1. 등록 횟수가 가장 많은 백신
  2. 예약 횟수가 가장 많은 백신
  3. 잔여 물량이 가장 많은 기관 및 지역

위와 같은 통계치를 구해 반환하는 기능을 구현하겠습니다.

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.