Giter Site home page Giter Site logo

ojongseok / sejonguniversity_goods_shop Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 717 KB

๐ŸŽ [์„ธ์ข…์ด์˜ ์ง‘] ์„ธ์ข…๋Œ€ํ•™๊ต ๊ณต๋™๊ตฌ๋งค, ๊ตฟ์ฆˆ์ƒต

Kotlin 100.00%

sejonguniversity_goods_shop's Introduction

๐ŸŽ [์„ธ์ข…์ด์˜ ์ง‘] - ์„ธ์ข…๋Œ€ํ•™๊ต ๊ณต๋™๊ตฌ๋งค, ๊ตฟ์ฆˆ์ƒต

ํ”„๋กœ์ ํŠธ๋ช… : [์„ธ์ข…์ด์˜ ์ง‘] ์„ธ์ข…๋Œ€ํ•™๊ต ๊ณต๋™๊ตฌ๋งค, ๊ตฟ์ฆˆ์ƒต
๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ : 2023. 01 ~ 2023. 03
ํŒ€์› ๋ฐ ์—ญํ•  : UI/UX ๋””์ž์ด๋„ˆ 1๋ช…, Android ๊ฐœ๋ฐœ 1๋ช…, IOS ๊ฐœ๋ฐœ 1๋ช…, Server ๊ฐœ๋ฐœ 1๋ช…

๐Ÿ“ Description

๋Œ€ํ•™๊ต๋งˆ๋‹ค ์• ๊ต์‹ฌ๊ณผ ์†Œ์†๊ฐ์„ ์œ„ํ•ด ์ž์ฒด์ ์œผ๋กœ ๊ตฟ์ฆˆ(๊ธฐ๋…ํ’ˆ)์„ ์ œ์ž‘ํ•˜๊ณ  ํ™๋ณดํ•˜์ง€๋งŒ ์šฐ๋ฆฌ ํ•™๊ต์˜ ๊ฒฝ์šฐ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์•„ ์ง์ ‘ ์•ฑ์„ ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ, ์—๋ธŒ๋ฆฌํƒ€์ž„์ด๋ผ๋Š” ๋Œ€ํ•™์ƒ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ํ•™์ƒ์ด ๊ฐœ์ธ์ ์œผ๋กœ ๊ตฟ์ฆˆ ์ œ์ž‘ ๋ฐ ํ™๋ณด, ๊ณต๋™๊ตฌ๋งค ๊ฒŒ์‹œ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ์ข…์ข… ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ฒˆ๊ฑฐ๋กญ๊ณ , ํšจ๊ณผ์ ์ด์ง€ ๋ชปํ•œ ๋ถ€๋ถ„๋“ค์ด ๋งŽ๋‹ค๊ณ  ๋Š๊ผˆ๊ณ , ์ธ์Šคํƒ€/๋ธ”๋กœ๊ทธ๋กœ ๋ชจ๋‘ ํฉ์–ด์ ธ ํŒ๋งค ๋ฐ ํ™๋ณด๊ฐ€ ์ด๋ฃจ์–ด์ง€๋˜ ์ƒํ’ˆ์„ ํ•™์ƒ๋“ค์ด ์•ฑ์œผ๋กœ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ™•์ธ, ๊ตฌ๋งค๊ฐ€ ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐํšํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ Tech Stack

Kotlin, MVVM, Repository, Coroutine, Room, DataBinding, Retrofit2, Gson, JWT Token, SharedPreference

โœ… Main Function

1๏ธโƒฃ ๊ตฟ์ฆˆ/์ƒํ’ˆ ์ •๋ณด ์ œ๊ณต

  • ๊ต๋‚ด ํ•™์ƒ๋“ค์ด ์ œ์ž‘ํ•œ ์„ธ์ข…๋Œ€ํ•™๊ต ๊ตฟ์ฆˆ ์ƒํ’ˆ์„ ํ•œ๋ˆˆ์— ํ™•์ธ ๊ฐ€๋Šฅ
  • ๊ฐœ๋ณ„์ ์œผ๋กœ ํŒ๋งคํ•˜๋˜ ๊ตฟ์ฆˆ ํŒ๋งค์ž์™€ ์ง์ ‘ ์—ฐ๋ฝํ•ด ์ƒํ’ˆ/ํŒ๋งค์ž ์ •๋ณด๋ฅผ ๋ฐ›์•„ ์•ฑ์— ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

2๏ธโƒฃ ์ƒํ’ˆ ์ฃผ๋ฌธ ๋ฐ ์ฃผ๋ฌธ ๋‚ด์—ญ ํ™•์ธ

  • ์‚ฌ์šฉ์ž๋Š” ์•ฑ์—์„œ ๊ตฟ์ฆˆ๋ฅผ ํ™•์ธํ•˜๊ณ , ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒํ’ˆ์€ ํ˜„์žฅ์ˆ˜๋ น๊ณผ ํƒ๋ฐฐ์ˆ˜๋ น์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ตฌ๋งค๋ฐฉ๋ฒ•์€ ๊ณ„์ขŒ์ด์ฒด๋กœ ์ด๋ฃจ์–ด ์ง‘๋‹ˆ๋‹ค.
  • [์•ฑ] ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์—์„œ ๊ตฟ์ฆˆ ๊ตฌ๋งค ํ›„ ๊ณ„์ขŒ์ด์ฒด ์™„๋ฃŒ โ†’ [์„œ๋ฒ„] ๊ตฌ๋งค ์ •๋ณด DataBase ์ถ”๊ฐ€ โ†’ [๊ฐœ๋ฐœ์žโ†’ํŒ๋งค์ž] ํŒ๋งค์ž์—๊ฒŒ ๊ตฌ๋งค์ž ๋ชฉ๋ก ์ „๋‹ฌ(1์ผ 1ํšŒ) โ†’ [ํŒ๋งค์žโ†’๊ฐœ๋ฐœ์ž] ๊ณ„์ขŒ์ด์ฒด๊ฐ€ ํ™•์ธ๋œ ๊ตฌ๋งค์ž ๋ชฉ๋ก ์ „๋‹ฌ(1์ผ 1ํšŒ) โ†’ [์•ฑ] ๊ณ„์ขŒ์ด์ฒด๊ฐ€ ํ™•์ธ๋œ ๊ตฌ๋งค์ž ๋Œ€์ƒ ์ฃผ๋ฌธ์ƒํƒœ ๊ฐฑ์‹  โ†’ [์‚ฌ์šฉ์ž] ์ฃผ๋ฌธ์ƒํ’ˆ ์ˆ˜๋ น

3๏ธโƒฃ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฐ ๋งˆ์ดํŽ˜์ด์ง€

  • ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ƒํ’ˆ์€ ํ˜„์žฅ์ˆ˜๋ น/ํƒ๋ฐฐ์ˆ˜๋ น์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ ์ƒํ’ˆ ๊ฒ€์ƒ‰ ๋ฐ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ

  • ์ ์€ ์ƒํ’ˆ ์ˆ˜์—์„œ ํ•„์ˆ˜์ ์ธ ๊ธฐ๋Šฅ์€ ์•„๋‹ˆ์ง€๋งŒ Jetpack Room ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
  • ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ์—๋Š” JWT Token์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด๋ฉ”์ผ ์ธ์ฆ์„ ํ†ตํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

#๏ธโƒฃ [์ถ”๊ฐ€]

  • '์šฐํŽธ๋ฒˆํ˜ธ ๊ฒ€์ƒ‰'์—๋Š” Git Pages์™€ ๋‹ค์Œ์—์„œ ์ œ๊ณตํ•˜๋Š” ์šฐํŽธ๋ฒˆํ˜ธ ๊ฒ€์ƒ‰ API๋ฅผ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ Issue

์„œ๋ฒ„์™€ API ํ†ต์‹ ์„ ์œ„ํ•ด ๊ธฐ์กด์˜ http โ†’ https ํ†ต์‹ 

์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ http ํ†ต์‹ ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ manifest์—์„œ android:usesCleartextTraffic ์†์„ฑ์„ true๋กœ ์„ค์ •ํ•˜๋ฉด http๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๋‹น ๋ฐฉ๋ฒ•์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š๊ณ , ์‚ฌ์ดํŠธ์—์„œ http ์ ‘๊ทผ์„ ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด https ํ†ต์‹ ์„ ๊ฐ•์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
https ํ†ต์‹ ์˜ ๊ฒฝ์šฐ ์›น์‚ฌ์ดํŠธ์— SSL/TLS ์ธ์ฆ์„œ๊ฐ€ ์ ์šฉ๋œ ๊ฒฝ์šฐ ์ •์ƒ์ ์ธ ์ธ์ฆ์„œ๊ฐ€ ํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด์•ผ ํ•˜์ง€๋งŒ ์ธ์ฆ์„œ์—†์ด ์šฐํšŒํ•˜์—ฌ ์ ‘์†์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์ด ๋ฐฉ๋ฒ• ๋˜ํ•œ ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์ด์ง€๋งŒ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์— ์–ด๋ ค์›€์ด ์žˆ์–ด ์šฐํšŒํ•˜์—ฌ https ์ฃผ์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์„ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค” Learned

  • ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž…์— JWT Token๊ณผ ํšŒ์› ์ธ์ฆ๋ฐฉ์‹์—๋Š” Bearer Authentication ๋ฐฉ์‹์„ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  • MVVM ํŒจํ„ด์„ ๊ฐœ๋…์ ์œผ๋กœ๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด ๋ณด์•˜์ง€๋งŒ โ€œ์ด๊ฒŒ.. ๋งž๋‚˜..?โ€ ๋งŽ์ด ์–ด์„คํผ ๋ณด์˜€๊ณ (?), ๊ณ„์ธต์ด ์ œ๋Œ€๋กœ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š์•˜์Œ์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.
  • ์•ฑ์˜ UI/UX, ์š”๊ตฌ์‚ฌํ•ญ, ๊ธฐ๋Šฅ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ ์ „ ์•„์ด๋””์–ด์— ๋Œ€ํ•œ ๊ฒ€์ฆ, ์‹œ์žฅ ์กฐ์‚ฌ ๋ฐ ๋ถ„์„, ๋ฆฌ์„œ์น˜ ๋“ฑ ๊ธฐํš ๊ณผ์ • ๋˜ํ•œ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”— PlayStore Link

https://play.google.com/store/apps/details?id=com.sejong.sejonggoodsmallproject

sejonguniversity_goods_shop's People

Contributors

ojongseok avatar

Watchers

 avatar

sejonguniversity_goods_shop's Issues

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.