Skip to content

๐Ÿ‘‹2019 ์‹ ํ•œ ํ•ด์ปคํ†ค - ๊ฒฐ์ œ๋‚ด์šฉ ๋ถ„์„์„ ํ†ตํ•ด ๊ตฌ๋… ์„œ๋น„์Šค ๊ฐ„ํŽธํ™” ๋ฐ ์ถ”์ฒœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

Notifications You must be signed in to change notification settings

SOLscript/SOLscript_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

55 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SOLscript

๋ฐ€๋ ˆ๋‹ˆ์—„ ์„ธ๋Œ€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ๋… ๊ฒฝ์ œ๊ฐ€ ์ผ์ƒ์— ๊นŠ์ˆ™์ด ์ž๋ฆฌ ์žก๊ณ  ์žˆ๋‹ค. ๊ตฌ๋… ๊ฒฝ์ œ(subscription economy)๋ž€ ์†Œ๋น„์ž๊ฐ€ ์ •๊ธฐ์ ์œผ๋กœ ๋น„์šฉ์„ ์ง€๊ธ‰ํ•˜์—ฌ ์›ํ•˜๋Š” ์ƒํ’ˆ์„ ๋ฐฐ์†ก๋ฐ›๊ฑฐ๋‚˜, ์ผ์ • ๊ธฐ๊ฐ„ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค.

ํ˜„์žฌ ๊ตฌ๋… ๊ฒฝ์ œ๋Š” 2020๋…„ 594์กฐ ์› ์ „๋ง์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์†Œ๋น„์˜ ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„์œผ๋กœ ์ž๋ฆฌ ์žก์•˜๋‹ค. ํ•˜์ง€๋งŒ ์„œ๋น„์Šค๋ฅผ ๊ตฌ๋งคํ•˜๋˜ ๊ธฐ์กด์˜ ๋ฐฉ์‹์ด ์ต์ˆ™ํ•œ ์†Œ๋น„์ž๋“ค์€ ์—ฌ์ „ํžˆ ์ œํ•œ์ ์ธ ์„œ๋น„์Šค๋งŒ์„ ์ด์šฉํ•˜๊ฑฐ๋‚˜, ๋‹ค์–‘ํ•œ ๊ฒฐ์žฌ์ฒด๊ณ„๋กœ ํฉ์–ด์ ธ ๊ตฌ๋… ์ค‘์ธ ์„œ๋น„์Šค๋กœ ์ธํ•ด ๊ด€๋ฆฌ์— ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ ํŒ€์€ ์‹ ํ•œ ๊ณ„์—ด์‚ฌ๋“ค์˜ API๋“ค์„(๋ชฉ๋ก ์•„๋ž˜ ๊ธฐ์ œ) ์‚ฌ์šฉํ•˜์—ฌ์„œ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ตฌ๋… ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์„ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค.\

ํ•ด์ปคํ†ค ํ›„๊ธฐ: ์œค์ž์ด ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ




Features

  • ์‹ ํ•œ๊ทธ๋ฃน API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์ขŒ, ์นด๋“œ ๋“ฑ๋กํ›„ ๊ตฌ๋… ๊ฐ„ํŽธํ™”.
  • ์‹ ํ•œ๊ทธ๋ฃน API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ ์ €์˜ ๊ตฌ๋… ์„œ๋น„์Šค ์ž๋™ ์ถ”์ถœ.
  • ์ฑ—๋ด‡๊ณผ ๋Œ€ํ™”๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž์˜ ์ทจํ–ฅ ๋ถ„์„.
  • ์œ ์ €์˜ ๊ตฌ๋… ์„œ๋น„์Šค ์‚ฌ์šฉํŒจํ„ด ๋ถ„์„.
  • ์Šคํฌ๋ฆฐ ํƒ€์ž„ ์กฐํšŒ๋ฅผ ํ†ตํ•ด ์ด์ „ ๋‹ฌ๊ณผ์˜ ์‚ฌ์šฉ๋ฅ ์„ ๋น„๊ตํ•œ ํ†ต๊ณ„ ์ œ๊ณต.


API Description


Usage Video

  • ์•„๋ž˜ ์ด๋ฏธ์ง€ ํด๋ฆญ
    Video




Foldering

Module Router





Usage Package

"dependencies": {
    "dialogflow": "^0.14.1",
    "dialogflow-fulfillment": "^0.6.1",
    "actions-on-google": "^2.12.0"
  }

NLP Model๋กœ Google Dialogflow๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ , Google Client Library๋ฅผ ์‚ฌ์šฉํ•ด์„œ SOLscript์„œ๋ฒ„๋ฅผ proxy server๋กœ ์ด์šฉ ๋ฐ, webhook์„ ์ด์šฉํ•ด fulfillment์ฒ˜๋ฆฌ๋ฅผ ํ•˜์˜€๋‹ค.


"dependencies": {
    "aws-sdk": "^2.575.0",
    "multer": "^1.4.2",
    "multer-s3": "^2.9.0",
    "mongoose": "^5.7.12"
}

Database๋กœ MongoDB์™€ AWS์˜ S3๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.


"dependencies": {
    "request": "^2.88.0",
    "request-promise": "^4.2.5"
}

Shinhan Bank, Shinhan Card API๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด request-promise(request dependency์— ์˜์กด์ )๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.





Core Technology

Dialogflow

SOLscript๋Š” ์ฑ—๋ด‡ soly์™€์˜ ๋Œ€ํ™”๋ฅผ ํ†ตํ•ด ์œ ์ €์˜ ์ทจํ–ฅ์„ ๋ถ„์„ํ•œ ํ›„ ์œ ์ €์—๊ฒŒ ๋งž์ถคํ˜• ๊ตฌ๋… ์„œ๋น„์Šค๋ฅผ ์ถ”์ฒœํ•ด์ค€๋‹ค. ์ทจํ–ฅ ๋ถ„์„์€ Price, Category, Feel ์ด 3๊ฐ€์ง€์˜ ๊ธฐ์ค€์œผ๋กœ ๋ถ„์„ํ•˜๋ฉฐ, ์œ ์ €๊ฐ€ ์ •ํ˜•ํ™”๋˜์ง€ ์•Š์€ ๋‹ต๋ณ€์„ ํ•˜๋”๋ผ๋„ ์ฑ—๋ด‡์ด ํ•ด๋‹น ๋ฐœํ™”์˜ Entity๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ค€๋น„๋œ ํ‚ค์›Œ๋“œ์— ๋งตํ•‘์‹œํ‚จ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž์˜ ๊ตฌ๋… ์„œ๋น„์Šค ํ˜„ํ™ฉ์ด๋‚˜, ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๋… ์„œ๋น„์Šค ํ˜„ํ™ฉ ๋“ฑ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ Database์ ‘๊ทผ ๋ฐ ๋‚ด๋ถ€ ๋กœ์ง์„ ํ†ตํ•ด ๋‹ต๋ณ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฐธ๊ณ ์ž๋ฃŒ: Dialogflow Reference


Shinhan API

์‹ ํ•œ์€ํ–‰ ๋ฐ ์นด๋“œ API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์นด๋“œ๋ฅผ ๋“ฑ๋กํ•ด์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ตฌ๋… ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์˜€๊ณ , ์œ ์ €์˜ ์นด๋“œ ์‚ฌ์šฉ๋‚ด์—ญ์„ ์กฐํšŒ ๋ฐ ํŒŒ์‹ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๊ตฌ๋… ์„œ๋น„์Šค ์‚ฌ์šฉํŒจํ„ด์„ ๋ถ„์„ํ•œ ํ›„ ์ œ๊ณตํ•˜์˜€๋‹ค.




Application Lifecycle Management

Agile

1. ํŒ€์›๊ณผ์˜ ๊ธฐ์ˆ ์Šคํƒ์„ ๋งž์ถ˜๋‹ค.
ํ•ด์ปคํ†ค์ด ์‹œ์ž‘๋˜๊ธฐ์ „ ํŒ€์›๋“ค๊ณผ์˜ ๊ธฐ์ˆ ์Šคํƒ์„ ๋งž์ถ”๊ณ , foldering์ด๋‚˜ code convention๊ณผ ๊ฐ™์€ ๋ถ€๋ถ„๋“ค์„ ๋ฏธ๋ฆฌ ์ ๊ฒ€ํ•˜์˜€๋‹ค. ๊ทธ๋กœ ์ธํ•ด ํ•ด์ปคํ†ค ๋‹น์ผ git merge๋กœ ์ธํ•œ comflict๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ์—…๋ฌด ๋ถ„๋ฐฐ์— ์žˆ์–ด์„œ ์œ ๋™์ ์ด์—ˆ๋‹ค.

2. ๋‚ด๋ถ€์  ํ˜‘๋ ฅ
๋‹น์ผ์— ๊ณต๊ฐœ๋˜๋Š” api๋กœ ์ธํ•ด ์„ค๊ณ„์— ๋Œ€ํ•œ ๋ถˆํ™•์‹ค์„ฑ์ด ์žˆ์—ˆ๋‹ค. ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ถ€๋ถ„์„ ์„ค๊ณ„ํ•˜๊ธฐ๋ณด๋‹จ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‘๊ณ  ํ•ด์ปคํ†ค ๋‹น์ผ์— ์• ์ž์ผํ•˜๊ฒŒ ์„ค๊ณ„ ๋ฐ ๊ฐœ๋ฐœ์„ ์ด์–ด๋‚˜๊ฐ”๋‹ค. ์ด๋กœ์ธํ•ด ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ์„ ๋•Œ ์œ ๋™์ ์œผ๋กœ ์„ค๊ณ„๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ํ•™์Šตํ•˜๋ฉฐ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

3. ํ”ผ๋“œ๋ฐฑ
5 ~ 6์‹œ๊ฐ„์— ํ•œ๋ฒˆ์”ฉ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ๊ณ ๋ฐ›๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๋””์ž์ธ๊ณผ์˜ ์ ˆ์ถฉ์•ˆ, ํด๋ผ์ด์–ธํŠธ์™€์˜ ํ†ต์‹ ์— ๊ด€ํ•œ ๋ถ€๋ถ„์„ ์ง€์†์ ์œผ๋กœ ์ฒดํฌํ•˜์˜€๋‹ค. ์ง€์†์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๊ฐ ํŒŒํŠธ๊ฐ„์˜ ์ง„ํ–‰์ƒํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ด๋Ÿฌํ•œ ์‹œ๋„ˆ์ง€ ํšจ๊ณผ๋Š” ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌ๋˜์—ˆ๋‹ค.




Application Image

MainActivity MyPageActivity CardInfoActivity
image image image
CardActivity CardRegisterActivity ChatActivity
image image image
SubscriptCalenderFragment SubscriptCalenderFragment SubscriptManageFragment
image image image
AnalysisActivity CategoryFragment DetailedActivity CategoryContentFragment
image image image image

About

๐Ÿ‘‹2019 ์‹ ํ•œ ํ•ด์ปคํ†ค - ๊ฒฐ์ œ๋‚ด์šฉ ๋ถ„์„์„ ํ†ตํ•ด ๊ตฌ๋… ์„œ๋น„์Šค ๊ฐ„ํŽธํ™” ๋ฐ ์ถ”์ฒœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages