Giter Site home page Giter Site logo

mapbook-project's Introduction

MapBook

도서관 책 찾을려고 일일이 도서관 사이트 들어가서 검색 하지 마세요!

열심히 찾았는데, 대출 가능한 도서관 어딨는지 또 찾지 마세요!

Service Goals

  1. 도서관 도서 통합 검색 플랫폼
  2. 지도 기반 대출 가능한 도서관 찾기 서비스

Challenge Goals

ElasticSearch 없이 RDBMS로만 가지고 검색 엔진 만들기

Explore the Project

  • Try MapBook
  • 서비스 피드백 및 건의 적극적으로 기다리는 중

mapbook

기능 소개

  1. 0.2s 이내 빠른 검색 속도 및 대출 횟수 기반 결과

    mapbook

  2. 검색어 자동 완성

    mapbook

  3. 한영 오타 자동 전환 검색 기능

    mapbook

  4. 한글 영어 상호 보완 검색 기능

    mapbook

  5. 클릭 한번에 내 주변 대출 가능 도서관 찾기

    mapbook

📚 STACKS



📁 Foldering


📁 libraryService _ 
                    |_ 📁 commons _ 
                    |              |_ 📁 api (Open API 관련) ⭐
                    |              |_ 📁 async (비동기 처리 support)
                    |              |_ 📁 caching (통합 Caching 관리) ⭐
                    |              |_ 📁 circuitBreaker (Open Api 장애 대책) ⭐
                    |              |_ 📁 reporter (slack bot을 통한 slow query 보고)
                    |              |_ 📁 tester (search 성능 테스트)
                    |              |_ 📁 timer (내부 응답 속도 체크)
                    |              |_ 📁 updater (도서 최신화)
                    |
                    |_ 📁 batch     _    📁 aop
                    |                  |_ 📁 bookUpdate (Book 상세정보 최신화) 
                    |                  |_ 📁 jobController
                    |                  |_ 📁 keyword (명사 사전)
                    |                  |_ 📁 loanCnt (장서 목록 File 기반 대출 횟수 최신화)
                    |                  |_ 📁 preSortBook
                    |_ 📁 logging_ _
                    |               |_ 📁 logger
                    |               |_ 📁 util
                    |               |_ 📁 parser
                    |               |_ 📁 service
                    |
                    |_ 📁 mapBook_ _
                    |              |_ 📁 cacheKey
                    |              |_ 📁 controller
                    |              |_ 📁 dto
                    |              |_ 📁 entity
                    |              |_ 📁 exception
                    |              |_ 📁 repository
                    |              |_ 📁 service (도서관 찾기 및 매핑) ⭐
                    |_ 📋 search _ _
                    |              |_ 📁 advice (exception handler)
                    |              |_ 📁 controller
                    |              |_ 📁 dto
                    |              |_ 📁 engine (검색 엔진) ⭐
                    |              |_ 📁 entity
                    |              |_ 📁 exception
                    |              |_ 📁 repository ⭐
                    |              |_ 📁 service (책 찾기 & 단어 유효성 검사) ⭐
                    |              |_ 📁 util (도서 검색 알고리즘 및 filter,converter)  ⭐

Project Duration & Team

  • Duration: 2023.03.31 - 2023.05.12
  • Team: 4 Backend Developers

Backend Technology

  • Java
  • Spring Boot
  • Spring JPA
  • Thymeleaf
  • QueryDsl
  • Spring Batch
  • eunjeon (자연어 분석)
  • Junit5
  • WireMock
  • Mockito

Infrastructure

  • AWS EC2
  • Github CI/CD
  • AWS RDS (Mysql 8.0)

Open API

  • Kakao Map
  • Library Information System (for book availability check)

Thanks

Book Data

  • 3,740,754 raws
  • ~ 23년 4월 도서 데이터 최신화 완료

mapbook-project's People

Contributors

injunjo avatar zbd0329 avatar zs12341 avatar slippecat avatar hexia90 avatar

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.