PROJECTS

Team Project 6 | iPark ํ”„๋กœ์ ํŠธ ๊ธฐํš์„œ

nicesugi 2022. 7. 8. 18:41

๐Ÿ”ฝ Git

https://github.com/2JYK/iPark_django_backend

https://github.com/2JYK/iPark_frontend

 

 

๐Ÿ”ฝ Notion 
https://heady-lan-a0c.notion.site/d4ff35daa2e24bc99ffe46fb3a46d309


 ์™€์ด์–ด ํ”„๋ ˆ์ž„  

์™€์ด์–ด ํ”„๋ ˆ์ž„ park1

 

์™€์ด์–ด ํ”„๋ ˆ์ž„ park2
์™€์ด์–ด ํ”„๋ ˆ์ž„ community
์™€์ด์–ด ํ”„๋ ˆ์ž„ user

๐Ÿ”ฝ user ๋ถ€๋ถ„ ํฌ๊ฒŒ ๋ณด๊ธฐ


 ๊ธฐ๋Šฅ๋ช…์„ธ์„œ  

  • ํ•ต์‹ฌ ๊ธฐ๋Šฅ : ๊ณต์› ์ฐพ๊ธฐ, ์ง€๋„, ์ปค๋ฎค๋‹ˆํ‹ฐ, ๋‚˜๋ˆ”๋งˆ์ผ“
- ์„œ์šธ์‹œ ๊ณต์›์„ ๊ตฌ์—ญ์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ์˜ต์…˜์„ ์„ ํƒํ•ด ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ์ฆ๊ฒจ์ฐพ๊ธฐ๋ฅผ ํ•˜์—ฌ ๋”ฐ๋กœ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ์Œ
- Tag ์„ ํƒ์œผ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๋‚˜๋ˆ”๋งˆ์ผ“์„ ์„ ํƒํ•ด ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ, ์ž‘์„ฑ์ด ๊ฐ€๋Šฅ

๋ฉ”์ธํŽ˜์ด์ง€

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

๊ณต์› ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€

  • ์˜ต์…˜์„ ์„ ํƒํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์กฐ๊ฑด์˜ ๊ณต์›์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Œ
  • ์Šคํฌ๋กค์„ ์ด์šฉํ•ด ๊ฒ€์ƒ‰๋œ ๊ณต์› ๋ชฉ๋ก์„ ํ™•์ธ
  • ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ์กฐํšŒ์ˆœ๊ณผ ์ฆ๊ฒจ์ฐพ๊ธฐ์ˆœ์ด ๋งŽ์€ ๊ณต์› ๋“ฑ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ์‹œํ•จ

๊ณต์› ์ƒ์„ธ ๋‚ด์šฉ ํŽ˜์ด์ง€

  • ๊ณต์›์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธ
  • ์ฆ๊ฒจ์ฐพ๊ธฐ
    • ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ฆ๊ฒจ์ฐพ๊ธฐ ํŽ˜์ด์ง€์—์„œ ๋ชจ์•„๋ณผ ์ˆ˜ ์žˆ์Œ
    • ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒ„ํŠผ์„ ๋‹ค์‹œ ๋ˆ„๋ฅด๋ฉด ํ•ด์ œ๋จ
  • ๋Œ“๊ธ€
    • ์‚ฌ์šฉ์ž๊ฐ„์˜ ํ•ด๋‹น ๊ณต์›์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋Œ“๊ธ€์„ ํ†ตํ•ด ์ž์œ ๋กญ๊ฒŒ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ

์ฆ๊ฒจ์ฐพ๊ธฐ ํŽ˜์ด์ง€

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ฆ๊ฒจ์ฐพ๊ธฐํ•œ ๊ณต์›๋“ค์„ ์ตœ์‹ ์ˆœ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ
  • ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒ„ํŠผ์„ ํ•œ๋ฒˆ ๋” ๋ˆ„๋ฆ„์œผ๋กœ ์ฆ๊ฒจ์ฐพ๊ธฐ๋ฅผ ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Œ

์ปค๋ฎค๋‹ˆํ‹ฐ ํŽ˜์ด์ง€

  • ์‚ฌ์šฉ์ž๋“ค์ด ์ž‘์„ฑํ•œ ์ „์ฒด ๊ฒŒ์‹œ๊ธ€์„ ๋ณผ ์ˆ˜ ์žˆ์Œ
  • ๋“œ๋กญ๋‹ค์šด ๋ฒ„ํŠผ์„ ์ด์šฉํ•ด ์ „์ฒด ๊ฒŒ์‹œ๊ธ€ / ์ปค๋ฎค๋‹ˆํ‹ฐ / ๋‚˜๋ˆ”๋งˆ์ผ“ / ๋‚ด๊ฐ€ ์“ด ๊ฒŒ์‹œ๊ธ€์„ ์„ ํƒํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ธ€ ์ž‘์„ฑ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๊ฒŒ์‹œ๊ธ€ ์—…๋กœ๋“œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ฒ€์ƒ‰์ฐฝ์„ ์ด์šฉํ•ด ๊ฒŒ์‹œ๊ธ€์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Œ
  • ํŽ˜์ด์ง€ ๋„ค์ด์…˜์„ ์ด์šฉํ•ด ํŽ˜์ด์ง€๋ฅผ ๋‚˜๋ˆ”

๊ฒŒ์‹œ๊ธ€ ์—…๋กœ๋“œ ํŽ˜์ด์ง€

  • ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ, ์—…๋กœ๋“œ
    • ํƒœ๊ทธ [ ์ปค๋ฎค๋‹ˆํ‹ฐ or ๋‚˜๋ˆ”๋งˆ์ผ“ ]๋ฅผ ์„ ํƒ
    • ์‚ฌ์ง„ / ์ œ๋ชฉ / ๋‚ด์šฉ ๊ธฐ์ž…
  • ์—…๋กœ๋“œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋“ฑ๋ก ์™„๋ฃŒ ์•Œ๋ฆผ์ด ๋œจ๋ฉฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ํŽ˜์ด์ง€๋กœ ์ด๋™
  • ์ž‘์„ฑ๋œ ๊ฒŒ์‹œ๊ธ€์€ ์ปค๋ฎค๋‹ˆํ‹ฐ ํŽ˜์ด์ง€์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ

๊ณต์› ์ •๋ณด ๊ด€๋ฆฌ→ admin ํŽ˜์ด์ง€

  • ์ƒˆ๋กœ์šด ๊ณต์› ๋“ฑ๋ก
  • ๋“ฑ๋ก๋œ ๊ณต์› ์ •๋ณด ์ˆ˜์ • ๋ฐ ์‚ญ์ œ

๊ณ„์ • ๊ด€๋ฆฌ ํŽ˜์ด์ง€

  • ๊ฐ€์ž… ์ •๋ณด ์ˆ˜์ •
    • ์ˆ˜์ •ํ•˜๊ณ ์ž ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Œ
    • ๋น„๋ฐ€๋ฒˆํ˜ธ
    • ์ด ๋ฆ„ / ์ด๋ฉ”์ผ / ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ / ์ƒ๋…„์›”์ผ
  • ํšŒ์› ํƒˆํ‡ด
    • ๊ฐœ์ธ์ •๋ณด ๋ฐ ์ž‘์„ฑํ•˜์˜€๋˜ ๋‚ด์—ญ ์‚ญ์ œ๋จ์„ ์•ˆ๋‚ดํ•˜๋ฉฐ ํƒˆํ‡ด ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํšŒ์›ํƒˆํ‡ด๋ฅผ ํ•  ์ˆ˜ ์žˆ์Œ

๋กœ๊ทธ์ธ ํŽ˜์ด์ง€

  • ๋กœ๊ทธ์ธ
    • ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ณ„์ • ํ˜น์€ ์•„์ด๋””๋กœ ๋กœ๊ทธ์ธ
  • ์•„์ด๋”” ์ฐพ๊ธฐ
    • ๊ฐ€์ž… ์ •๋ณด ํ™•์ธ์„ ํ†ตํ•ด ์•„์ด๋”” ์ฐพ๊ธฐ
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
    • ๊ฐ€์ž…ํ•œ ์•„์ด๋””์™€ ๊ฐ€์ž…์ •๋ณด ํ™•์ธ์„ ํ†ตํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
  • ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€๋กœ ์ด๋™
  • ๋กœ๊ณ ๋ฅผ ํ†ตํ•ด ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™

ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€

  • ํšŒ์›๊ฐ€์ž…
    • ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ณ„์ • ํ˜น์€ ๊ณ„์ • ์ƒ์„ฑ์œผ๋กœ ๊ฐ„ํŽธ ๊ฐ€์ž…
  • ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™
  • ๋กœ๊ณ ๋ฅผ ํ†ตํ•ด ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™

 DataBase  

ERD

DB


Region {
	"region_id(pk)" : "Primary Key",
	"region_name" : "์ง€์—ญ"
}

User {
	"user_id(pk)" : "Primary Key",
        "bookmarks(fk)" : "ManyToMany",
	"username" : "์‚ฌ์šฉ์ž ์•„์ด๋””",
	"password" : "๋น„๋ฐ€๋ฒˆํ˜ธ",
	"fullname": "์ด๋ฆ„",
	"email" : "์ด๋ฉ”์ผ",
	"phone" : "ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ",
	"birthday" : "์ƒ๋…„์›”์ผ",
	"region" : "์ง€์—ญ",
	"join_date" : "๊ฐ€์ž…์ผ์ž"
}

Option {
	"option_id(pk)" : "Primary Key",
	"option_name" : "๊ณต์› ์˜ต์…˜ ์ด๋ฆ„"
}

Park {
	"park_id(pk)" : "Primary Key",
	"option_id(fk)" : "ManyToMany",
        "park_name" : "๊ณต์›๋ช…",
	"addr" : "๊ณต์›์ฃผ์†Œ",
	"zone" : "์ง€์—ญ",
	"admintel" : "์ „ํ™”๋ฒˆํ˜ธ",
	"main_equip" : "์ฃผ์š”์‹œ์„ค",
	"template_url" : "๋ฐ”๋กœ๊ฐ€๊ธฐ",
	"list_content" : "๊ณต์›๊ฐœ์š”",
	"image" : "์ด๋ฏธ์ง€",
	"longitude" : "X์ขŒํ‘œ(WGS84)",
	"latitude" : "Y์ขŒํ‘œ(WGS84)",
	"check_count" : "์กฐํšŒ์ˆ˜",
        "created_at" : "๊ณต์› ์ •๋ณด ์ƒ์„ฑ์‹œ๊ฐ„",
        "updated_at" : "๊ณต์› ์ •๋ณด ์ˆ˜์ •์‹œ๊ฐ„"
}

ParkComment {
	"parkcomment_id(pk)" : "Primary Key",
	"user_id(fk)" : "Foreign Key",
	"park_id(fk)" : "Foreign Key",
	"comment" : "๋Œ“๊ธ€",
        "created_at" : "์ž‘์„ฑ ์‹œ๊ฐ„",
	"updated_at" : "์ˆ˜์ • ์‹œ๊ฐ„"
}

tag {
	"tag_id(pk)" : "Primary Key",
	"tag_name" : "ํƒœ๊ทธ"
}

Article {
	"article_id(pk)" : "Primary Key",
	"user_id(fk)" : "Foreign Key",
	"tag_id(fk)" : "Foreign Key",
        "image" : "์ด๋ฏธ์ง€",
	"title" : "์ œ๋ชฉ",
	"content" : "๋‚ด์šฉ",
        "check_count" : "์กฐํšŒ์ˆ˜",
	"created_at" : "์ž‘์„ฑ ์‹œ๊ฐ„",
        "updated_at" : "์ˆ˜์ • ์‹œ๊ฐ„",
}

ArticleComment {
	"articlecomment_id(pk)" : "Primary Key",
        "user_id(fk)" : "Foreign Key",
        "article_id(fk)" : "Foreign Key",
        "comment" : "๋Œ“๊ธ€",
        "created_at" : "์ž‘์„ฑ ์‹œ๊ฐ„",
        "updated_at" : "์ˆ˜์ • ์‹œ๊ฐ„"
}

 API ๋ช…์„ธ์„œ  

* app๋ณ„๋กœ API ์„ค๊ณ„ -> Park / User / Community 

request.response ๋ถ€๋ถ„์€ postman API๋ฌธ์„œ๋กœ ์ž‘์„ฑ > ๋งํฌ์ฒจ๋ถ€

User

 

User

ํšŒ์› ๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ์•„์ด๋””-๋น„๋ฐ€๋ฒˆํ˜ธ์ฐพ๊ธฐ, ํšŒ์›ํƒˆํ‡ด๊ฐ€ ๊ฐ€๋Šฅ ๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ์˜ ๊ฒฝ์šฐ ์†Œ์…œ๊ธฐ๋Šฅ ์„ ํƒํ•˜์—ฌ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

documenter.getpostman.com

Park

 

Park

์„œ์šธ์‹œ ๊ณต์›์„ ๊ตฌ์—ญ์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ์˜ต์…˜์„ ์„ ํƒํ•ด ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ์ฆ๊ฒจ์ฐพ๊ธฐ๋ฅผ ํ•˜์—ฌ ๋”ฐ๋กœ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ์Œ

documenter.getpostman.com

Community

 

Community

Tag ์„ ํƒ์œผ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๋‚˜๋ˆ”๋งˆ์ผ“์„ ์„ ํƒํ•ด ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ, ์ž‘์„ฑ์ด ๊ฐ€๋Šฅ ์ž‘์„ฑ์ž ๋ณธ์ธ์˜ ๊ฒŒ์‹œ๊ธ€์€ ์ˆ˜์ •, ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅ ์„ ํƒํ•œ ๊ฒŒ์‹œ๊ธ€์˜ ์กฐํšŒ์ˆ˜, ์ด๋ฏธ์ง€, ์ œ๋ชฉ, ๋‚ด์šฉ, ๋Œ“๊ธ€์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Œ ๊ถŒํ•œ์ด

documenter.getpostman.com


  ์ปจ๋ฒค์…˜  

๐Ÿ”ฝ Git ์ปจ๋ฒค์…˜ 

๐Ÿ”ฝ ์ฝ”๋“œ ์ปจ๋ฒค์…˜ 

๐Ÿ”ฝ ๊ฐœ๋ฐœํ™˜๊ฒฝ ์ปจ๋ฒค์…˜

 

โญ๏ธ 2JYK ์—ญํ•  โญ๏ธ

๊น€๊ฒฝ์ˆ˜ > ๊ณต์› ๋ฉ”์ธํŽ˜์ด์ง€ + ์ปค๋ฎค๋‹ˆํ‹ฐ ์ž‘์„ฑํŽ˜์ด์ง€

์œค์Šฌ๊ธฐ > ๊ณต์› ์ƒ์„ธ ํŽ˜์ด์ง€ + ์†Œ์…œ(๊ฐ€์ž…+๋กœ๊ทธ์ธ) + ๋ฐฐํฌ
์ •๋Œ€๊ทผ > ๊ฒ€์ƒ‰ํŽ˜์ด์ง€ + ํ† ๊ธ€ + ์œ ์ €(๊ณ„์ •๊ด€๋ฆฌ-ํšŒ์›๊ฐ€์ž…-๋กœ๊ทธ์ธ-์•„๋””๋น„๋ฒˆ์ฐพ๊ธฐ)

์ •์ฃผํ˜„ > index + footer + ์ฆ๊ฒจ์ฐพ๊ธฐ + ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฉ”์ธ

 

 

7์›”13์ผ S.A ์ˆ˜์ •๋ณธ ์—…๋กœ๋“œ

๋ฐ˜์‘ํ˜•