Skip to content

hmmhmmhm/smart-factory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Smart-Factory

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์›น์•ฑ ํ”„๋กœ์ ํŠธ๋กœ ์ด ํŽ˜์ด์ง€์—์„  ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ๋ฅผ ์ •๋ฆฌ ๋ฐ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Back-End Plan

  • 3.1.1 ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์—์„œ์˜ GPIO ํฌํŠธ๋กœ ์ „๋‹ฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” RPI-GPIO ๋ชจ๋“ˆ์„ ํ†ตํ•ด์„œ ์ฝ์–ด๋“ค์ž…๋‹ˆ๋‹ค. ( https://www.npmjs.com/package/rpi-gpio )
  • 3.1.2 Database ๋Š” Level-Hyper ๋ชจ๋“ˆ์„ ํ†ตํ•ด์„œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๊ฐ€์ง„ Indexed DB๋ฅผ Node.js์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ( https://github.com/Level/level-hyper )
  • 3.1.3 Database Query ๋Š” Apollo-server๋ฅผ ์ด์šฉํ•ด์„œ Level-Hyper ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฟผ๋ฆฌ ์—ฐ๊ฒฐ Resolver๋ฅผ ๋ถ€๊ฐ€์ ์œผ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ( https://github.com/apollographql/apollo-server )
  • 3.1.4 ๋ฐ์ดํ„ฐ ์บ์‹ฑ๊ตฌํ˜„์€ LRU ( https://github.com/isaacs/node-lru-cache ) ๋ชจ๋“ˆ๊ณผ LFU ( https://github.com/calvinmetcalf/node-lfu-cache ) ๋ชจ๋“ˆ์„ ์ด์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์ฟผ๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ๋ฐฑ์—”๋“œ์— ๊ฐ๊ฐ ์บ์‹ฑํ•ฉ๋‹ˆ๋‹ค.
  • 3.1.5 RSA ๋น„๋Œ€์นญํ‚ค ํ† ํฐ์„ ์šด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ JSONWebToken ๋ชจ๋“ˆ์„ ๋น„๋Œ€์นญํ‚ค ํ† ํฐ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ( https://www.npmjs.com/package/jsonwebtoken )

Front-End Plan

  • 2.2.1 Photoshop XD ๋กœ ๊ณ ์ •ํ˜• ์•ฑ๋””์ž์ธ์„ ๋ชจ๋ฐ”์ผ ๋ฒ„์ „๊ณผ PC ๋ฒ„์ „์œผ๋กœ ๋‘๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ๋””์ž์ธํ•œ ํ›„ ๊ฐ ๋””์ž์ธ์˜ ํ”„๋กœํ† ํƒ€์ž…์„ ๊ฒ€ํ†  ๋ฐ›์Šต๋‹ˆ๋‹ค.
  • 2.2.2 Zeplin์„ ํ†ตํ•ด์„œ ํ•ด๋‹น ๋””์ž์ธ์„ HTML๊ณผ CSS๋กœ ์ถœ๋ ฅํ•œ ํ›„ ์ด๋Ÿฌํ•œ ๊ณ ์ •ํ˜• ๋””์ž์ธ์˜ Form์— ๋“ค์–ด๊ฐˆ ์ฝ”๋“œ์š”์†Œ๋ฅผ React JS ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ตํ•ด ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • 2.2.3 React JS ์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” ๊ฐ ์ปดํฌ๋„ŒํŠธ์˜ ๊ตฌ์„ฑ์— ์žˆ์–ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ Query ํ•  ์ˆ˜ ์žˆ๋„๋ก Apollo Client ๊ธฐ๋ฐ˜์˜ Graph QL ์ฟผ๋ฆฌ๋ฌธ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ( https://github.com/apollographql/apollo-client )
  • 2.2.4 ์ดํ›„ ๋งŒ์•ฝ ํ•ด์ƒ๋„ ๊ฐ€๋ณ€์ ์ธ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ BlueprintJS๋ฅผ ํ†ตํ•ด์„œ ๋ถ€๊ฐ€์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉฐ ๊ณ ์ •ํ˜• ๋””์ž์ธ๊ณผ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์„ ์ฐจํ›„ Framer.js ์ฝ”๋“œ๋กœ ๋ฐ˜์‘ํ˜• ์•ฑ ๋””์ž์ธ ์‹œ์•ˆ์„ ๋ถ€๊ฐ€์ ์œผ๋กœ ์ œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • 2.2.5 ๋งŒ์•ฝ ๋ถ€๊ฐ€์ ์ธ ์–ด๋– ํ•œ ์• ๋‹ˆ๋ฉ”์ดํŒ… ๋””์ž์ธ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ framer.js ์™€ p5.js๋ฅผ ํ†ตํ•ด์„œ ์›€์ง์ด๋Š” ๋ฒกํ„ฐ๋ ˆ์ด์–ด ๋””์ž์ธ์„ ์ œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

QA Plan

  • 5.1 Unit Test = Jest + Travis CI - ๋ชจ๋“  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ๋Š” ๋‹จ๊ณ„๋ณ„๋กœ ์ชผ๊ฐœ์–ด์„œ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์ •์ƒ ์ž‘๋™ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ Javascript ๊ณ„์—ด ๊ตฐ์—์„œ์˜ ์œ ๋‹› ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์ธ Jest๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ์œ ๋‹›ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ์ฝ”๋“œ์ƒ์ด ์•„๋‹Œ ์ง๊ด€์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก Travis CI๋ฅผ ํ†ตํ•ด์„œ Travis CI ์›นํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด์„œ ๋งค ๋ฒ„์ „์˜ ๋นŒ๋“œ์„ฑ๊ณต & ์‹คํŒจ ์ •๋ณด๋ฅผ ํ™•์ธํ•จ์œผ๋กœ ์ž˜๋ชป๋œ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ , ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š” ๋ฒ„์ „์˜ ๋ฐฐํฌ๋ฅผ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.
  • 5.2 Code Coverage = Jest + Codecov.io - ๋ชจ๋“  ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ๊ฐ ๋ถ„๊ธฐ๋ณ„๋กœ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ์•ผํ•ฉ๋‹ˆ๋‹ค. ์ž‘์„ฑ๋œ ์ฝ”๋“œ์˜ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋กœ ์ž‘์„ฑ ํ•˜๋Š” ๊ฒƒ์„ ์ง€ํ–ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ…Œ์ŠคํŒ… ๋˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ๋“ค์ด ํ•œ์ค„ ๋‹จ์œ„๋กœ ์–ผ๋งˆ๋งŒํผ ํ…Œ์ŠคํŒ…์œผ๋กœ ๊ฒ€์ฆ๋˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋ฐฑ๋ถ„์œจ๋กœ ๋‚˜ํƒ€๋‚ด์–ด ๊ฒ€์‚ฌํ•ด์ฃผ๋Š” Jest๋ฅผ ํ†ตํ•ด์„œ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ํ™•์ธํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ์ฝ”๋“œ์ปค๋ฒ„๋ฆฌ์ง€ ๋‹ฌ์„ฑ๋ฅ ์„ Codecov.io๋ฅผ ํ†ตํ•ด์„œ ์›น์ƒ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

License

Copyrightโ“’2019 by Hanbat University All rights reserved.

About

๐ŸŒณ Smart Factory System for Better Factory

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published