Skip to content

๐ŸŽ๐Ÿ’ ํƒ์š•์ง‘์ฐฉ๋ถˆ๋ˆ์ด๋“ค ์ผ์ทจ์›”์žฅ ์ผ์‚ฌ์ฒœ๋ฆฌ

Notifications You must be signed in to change notification settings

TeamCherish/Cherish-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


Project

๋‹น์‹ ์˜ ์†Œ์ค‘ํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์—ฐ๋ฝ๊ด€๋ฆฌ ์„œ๋น„์Šค, Cherish

๐Ÿ† SOPT 27th APPJAM ์ตœ์šฐ์ˆ˜์ƒ
ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„: 2020.12.26 ~ 2021.01.16
์ถ”๊ฐ€ ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ๊ธฐ๊ฐ„: 2021.02.03 ~ 2021.06.20
Released : 2021.07.03

Achievement

์ด๋ฒˆ ์ฃผ ์ถ”์ฒœ ์•ฑ, ์˜ค๋Š˜์˜ ์•ฑ, ์ด๋‹ฌ์˜ ์•ฑ


Cherish iOS Developers


hwangji-dev

๐Ÿ“ฑ

snowedev

๐Ÿ“ฑ

seohyun-106

๐Ÿ“ฑ

Development Environment and Using Library

  • Development Environment
    Swift iOS

  • Using Library

    # Using Libraries for Cherish-iOS
    'SnapKit'               # Layout
    'Then'								
    'Alamofire'             # ์„œ๋ฒ„ ํ†ต์‹ 
    'Kingfisher'            # ์ด๋ฏธ์ง€ ์บ์‹ฑ
    'FSCalendar'            # ์บ˜๋ฆฐ๋” ๊ตฌํ˜„
    'OverlayContainer'      # BottomSheet ์• ๋‹ˆ๋ฉ”์ด์…˜
    'Firebase/Analytics'    # ์•ฑ ๋ฐ์ดํ„ฐ ๋ถ„์„
    'Firebase/Messaging'    # ํ‘ธ์‹œ ์•Œ๋ฆผ

Foldering, Coding Convention, Git flow


Service workflow


Task

Cherish iOS ๊ฐœ๋ฐœ ์ผ์ง€๐Ÿ“” ๋ฐ ์นธ๋ฐ˜๋ณด๋“œ๐Ÿ‘จโ€๐Ÿซ

๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์—ฌ๋ถ€ ๋‹ด๋‹น์ž
Onboarding ์ด์›์„
SignUp, Find Password ์ด์›์„
Splash & Login ํ™ฉ์ง€์€
Push Alert ํ™ฉ์ง€์€
Main View ํ™ฉ์ง€์€
Add Friend ์žฅ์„œํ˜„
Watering Flow(Contact, Review) ์ด์›์„
Calendar View(Calendar, Review Edit) ์ด์›์„
Plant Detail ํ™ฉ์ง€์€
MyPage(Profile, Search, Add Friend) ํ™ฉ์ง€์€,์žฅ์„œํ˜„
ShowMore ํ™ฉ์ง€์€,์ด์›์„
View Connection ํ™ฉ์ง€์€

App Description

Splash->Onboarding->๋กœ๊ทธ์ธ

image

  • ์Šคํ”Œ๋ž˜์‰ฌ, ์˜จ๋ณด๋”ฉ์ด ๋๋‚˜๋ฉด ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • Cherish๋Š” ์†Œ์ค‘ํ•œ ์‚ฌ๋žŒ์˜ ๋“ฑ๋ก์„ ์œ„ํ•ด "์—ฐ๋ฝ์ฒ˜" ๊ถŒํ•œ๊ณผ ํ‘ธ์‰ฌ์•Œ๋ฆผ์„ ์œ„ํ•œ "์•Œ๋ฆผ"๊ถŒํ•œ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

ํšŒ์›๊ฐ€์ž…

image

  • ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ ํšŒ์›๊ฐ€์ž…์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ

image

  • ํšŒ์›๊ฐ€์ž…์‹œ ๋“ฑ๋กํ–ˆ๋˜ ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹๋ฌผ ๋“ฑ๋ก(Add Friend)

image

  • ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์ด ์—ฐ๋ฝ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ ์‹ถ์€ ์‚ฌ๋žŒ์„ ์—ฐ๋ฝ์ฒ˜์—์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๋Š” ์‹๋ฌผ ์• ์นญ, ์ƒ์ผ, ๋ฌผ์ฃผ๊ธฐ ์•Œ๋žŒ(ํ‘ธ์‰ฌ์•Œ๋žŒ) ์ฃผ๊ธฐ, ๋ฌผ์ฃผ๊ธฐ ์•Œ๋žŒ(ํ‘ธ์‰ฌ์•Œ๋žŒ) ์‹œ๊ฐ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋‹จ, ์ด๋ฆ„๊ณผ ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์ˆ˜์ •์ด ๋˜์ง€ ์•Š๋Š” ์ƒํƒœ๋กœ ๋„˜์–ด์˜ค๊ฒŒ๋ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๋ฌผ์ฃผ๊ธฐ ์•Œ๋žŒ ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ๊ทธ์— ๋งž๋Š” ์‹๋ฌผ์ด ๋ฐฐ์ •๋ฉ๋‹ˆ๋‹ค.

  • ์‹๋ฌผ ์ข…๋ฅ˜๋Š” ๋‹จ๋ชจํ™˜, ๋ฏผ๋“ค๋ ˆ, ๋กœ์ฆˆ๋งˆ๋ฆฌ, ์Šคํˆฌํ‚ค, ์•„๋ฉ”๋ฆฌ์นธ๋ธ”๋ฃจ ์ด์ƒ 5๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค.


๋ฉ”์ธ๋ทฐ

image

  • ์„ ํƒํ•œ ์‹๋ฌผ์— ๋”ฐ๋ผ ๋ฉ”์ธ ๋ทฐ์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.

    • ๋ฉ”์ธ ๋ทฐ์˜ ์‹๋ฌผ๋“ค์ด ๋“ฑ๋ก๋œ ์‹๋ฌผ๋กœ ๋ณ€ํ™”
    • D-DAY ๋ผ๋ฒจ๊ณผ ์‹๋ฌผ์˜ ๋„ค์ด๋ฐ ๋ณ€ํ™”
    • ์‹๋ฌผ ๋„ค์ด๋ฐ ์œ„์˜ '์•„์ง ์ˆ˜๋ช…์ด ํƒ„ํƒ„ํ•œ' ๋“ฑ์˜ ์ˆ˜์‹์–ด๋Š” ๋žœ๋ค์œผ๋กœ ์ง€์ •
    • ์ขŒ์ธก์— ์œ„์น˜ํ•œ ํ•ด๋‹น ์‹๋ฌผ์— ๋Œ€ํ•œ ์• ์ •๋„ Bar
  • Bottom Sheet์˜ ์ฒซ ๋ฒˆ์งธ Cell์€ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ Cell๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

  • Bottom Sheet์˜ ๊ฐ Cell๋“ค์€ ๋ฌผ์ฃผ๊ธฐ๊ฐ€ ์ž„๋ฐ•ํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.


๋ฌผ์ฃผ๊ธฐ Flow

image

๋ฉ”์ธ๋ทฐ์— ์œ„์น˜ํ•œ ๋ฌผ์ฃผ๊ธฐ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๊ฐ ์‹๋ฌผ์—๊ฒŒ ๋ฌผ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

  • ๋ฌผ์ฃผ๊ธฐ

    • ๋ฌผ์ฃผ๊ธฐ๋Š” ์ „ํ™”, ๋ฉ”์‹œ์ง€, ์นด์นด์˜คํ†ก์˜ 3๊ฐ€์ง€ ์ˆ˜๋‹จ์œผ๋กœ ์ง„ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฐ ์—ฐ๋ฝ์ˆ˜๋‹จ์„ ํ†ตํ•ด ์†Œ์ค‘ํ•œ ์—ฐ๋ฝ์„ ํ•œ ๋’ค์—๋Š” ์˜ค๋Š˜ ํ•œ ์—ฐ๋ฝ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ™”๋ฉด์œผ๋กœ ์ง„์ž…ํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฐ๋ฝ ํ›„๊ธฐ

    • ๋ฆฌ๋ทฐ์˜ ์ž‘์„ฑ์€ ์‚ฌ์šฉ์ž์˜ ์„ ํƒ์ž…๋‹ˆ๋‹ค.
    • ๋ฆฌ๋ทฐ์—์„œ๋Š” ์ตœ๋Œ€ 5๊ธ€์ž, ์ตœ๋Œ€ 3๊ฐœ์˜ ํ‚ค์›Œ๋“œ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๊ณ  100์ž ์ œํ•œ์˜ ๋ฉ”๋ชจ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์—ฐ๋ฝ, ํ‚ค์›Œ๋“œ ์ž‘์„ฑ, ๋ฆฌ๋ทฐ ์ž‘์„ฑ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๊ฐ๊ฐ ์• ์ •๋„ 8%๊ฐ€ ์ƒ์Šนํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌผ์ฃผ๊ธฐ๋ฅผ ์„ฑ๊ณตํ•˜๋ฉด ๋ฉ”์ธ๋ทฐ์˜ ์‹๋ฌผ์€ ๋ฌผ์ฃผ๊ธฐ ๋ชจ์…˜์— ์ง„์ž…ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฏธ๋ฃจ๊ธฐ๋Š” D-day๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ๊ฐ€๋Šฅํ•˜๋ฉฐ ํ•œ๋ฒˆ์— 1~7์ผ์„ ๋ฏธ๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฌผ์ฃผ๊ธฐ๋ฅผ ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฏธ๋ฃจ์ง€ ์•Š์€ ์ฑ„๋กœ D-day๊ฐ€ ์ง€๋‚˜๊ฐ€๋ฉด ์‹๋ฌผ์€ ์‹œ๋‘˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

    • ์ด๋•Œ๋Š” ๋ฏธ๋ฃจ๊ธฐ๋ฅผ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์‹๋ฌผ ์ƒ์„ธ ๋ทฐ

image

  • ๋ฉ”์ธ ๋ทฐ์—์„œ ์‹๋ฌผ์„ ํ„ฐ์น˜ํ•˜๋ฉด ์‹๋ฌผ ์ƒ์„ธ๋ทฐ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

  • ์‹๋ฌผ ์ƒ์„ธ ๋ทฐ์—์„œ๋Š” Circle Status Bar๋กœ ์‹๋ฌผ์˜ ๋ฌผ์ฃผ๊ธฐ์˜ ์ž„๋ฐ• ์ •๋„๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋“ฑ๋กํ•œ ์นœ๊ตฌ์˜ ์—ฐ๋ฝ์ฒ˜์ƒ ์ด๋ฆ„, ์‚ฌ์šฉ์ž๊ฐ€ ๋“ฑ๋กํ•œ ์นœ๊ตฌ์˜ ๋ณ„๋ช…, ์นœ๊ตฌ์˜ ์ƒ์ผ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ•ด๋‹น ์‹๋ฌผ์—๊ฒŒ ๋ฌผ์„ ์ค€ ์ ์ด ์žˆ๊ณ , ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ์‹๋ฌผ ์ƒ์„ธ ๋ทฐ ํ•˜๋‹จ์—์„œ ํ›„๊ธฐ๋ฅผ ์ตœ๋Œ€ 2๊ฐœ๊นŒ์ง€ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด ๋•Œ ํ‚ค์›Œ๋“œ๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ ์—ฐ๋ฝ ์‹œ ์ž‘์„ฑํ•œ ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค).


์บ˜๋ฆฐ๋” ๋ทฐ+๋ฆฌ๋ทฐ ์ˆ˜์ •

Cherish_Calendar

์บ˜๋ฆฐ๋” ๋ทฐ๋กœ ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋‘๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค.

  1. ์‹๋ฌผ ์ƒ์„ธ ๋ทฐ์—์„œ ํ•˜๋‹จ์— ์œ„์น˜ํ•œ ๋ฉ”๋ชจ ์šฐ์ธก์˜ > ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์บ˜๋ฆฐ๋” ๋ทฐ์—์„œ ํ•ด๋‹น ๋‚ ์งœ๋กœ ์ด๋™ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  2. ์‹๋ฌผ ์ƒ์„ธ ๋ทฐ์—์„œ ์ƒ๋‹จ ์šฐ์ธก์— ์œ„์น˜ํ•œ ๋‹ฌ๋ ฅ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์บ˜๋ฆฐ๋” ๋ทฐ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์บ˜๋ฆฐ๋” ๋ทฐ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์บ˜๋ฆฐ๋”๋Š” ๊ฐ ์‹๋ฌผ๋งˆ๋‹ค ๋ฐฐ์ •๋˜์–ด ์žˆ์œผ๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€ ๋ฌผ ์ค€ ๋‚ ๊ณผ ์•ž์œผ๋กœ ๋ฌผ ์ค„ ๋‚ ์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ์‹๋ฌผ์—๊ฒŒ ๋ฌผ ์ค€ ๋‚  ๋ฆฌ๋ทฐ๊นŒ์ง€ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด ์บ˜๋ฆฐ๋” ํ•˜๋‹จ์— ๊ทธ ๋‚  ์ž‘์„ฑํ•œ ๋ฆฌ๋ทฐ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ์ด ๋•Œ, ์šฐ์ธก์— ์œ„์น˜ํ•œ ์—ฐํ•„ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ํ•ด๋‹น ๋‚ ์งœ์˜ ๋ฆฌ๋ทฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘ธ์‰ฌ ์•Œ๋ฆผ

image

ํ‘ธ์‰ฌ์•Œ๋ฆผ์€ ๋‹ค์Œ์˜ ๋‘ ๊ฒฝ์šฐ์— ๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋“ฑ๋กํ•œ ์‹๋ฌผ์˜ ๋ฌผ์ฃผ๊ธฐ๊ฐ€ ๋‹ค๊ฐ€์™”์„ ๋•Œ
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌผ์„ ์ค€ ๋’ค ๋ฆฌ๋ทฐ๋ฅผ ๊ธฐ๋กํ•˜์ง€ ์•Š์•˜์„ ๋•Œ

ํ‘ธ์‰ฌ๋ฅผ ํ†ตํ•ด ๋ฌผ์ฃผ๊ธฐ, ๋ฆฌ๋ทฐํ•˜๊ธฐ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋งˆ์ดํŽ˜์ด์ง€

image

  • ๋งˆ์ดํŽ˜์ด์ง€์˜ ๋‚ด ์‹๋ฌผ ํƒญ์—์„œ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉ์ž๊ฐ€ ๋“ฑ๋กํ•œ ์‹๋ฌผ๋“ค์„ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ง€๊ธˆ๊นŒ์ง€ ๋ฌผ ์ค€ ํšŸ์ˆ˜, ๋ฏธ๋ฃฌ ํšŸ์ˆ˜, ์• ์ •๋„๊ฐ€ 100์ด ๋œ ์‹๋ฌผ๋“ค์ด ์–ผ๋งˆ๋‚˜ ์žˆ๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‚ด ์‹๋ฌผ ํƒญ ์šฐ์ธก์˜ ์—ฐ๋ฝ์ฒ˜ ํƒญ์—์„œ๋Š” ์ƒˆ๋กœ์šด ์†Œ์ค‘ํ•œ ์‚ฌ๋žŒ์„ ๋“ค๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋งˆ์ดํŽ˜์ด์ง€ ์šฐ์ธก ์ƒ๋‹จ์— ์žˆ๋Š” ๋‹๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


๋”๋ณด๊ธฐ

image

  • ์‚ฌ์šฉ์ž์˜ ๋‹‰๋„ค์ž„ ๋ฐ ์ด๋ฉ”์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž์˜ ํ”„๋กœํ•„ ์‚ฌ์ง„ ๋˜ํ•œ ๋“ฑ๋ก ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค).
  • ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ, ์„œ๋น„์Šค์ด์šฉ์•ฝ๊ด€์ด ์“ฐ์—ฌ์žˆ๋Š” ๋…ธ์…˜ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  • 1:1 ๋ฌธ์˜ ํ•˜๊ธฐ๋ฅผ ํ†ตํ•ด Cherish์—๊ฒŒ ๋ฌธ์˜ ๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌผ์ฃผ๊ธฐ ํ‘ธ์‰ฌ ์•Œ๋ฆผ์„ On, Offํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋กœ๊ทธ์•„์›ƒ ๋ฐ ํšŒ์› ํƒˆํ‡ด๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Ver 1.2 ๋ถ€ํ„ฐ๋Š” ์ž ๊ธˆ์„ค์ •์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค!

About

๐ŸŽ๐Ÿ’ ํƒ์š•์ง‘์ฐฉ๋ถˆ๋ˆ์ด๋“ค ์ผ์ทจ์›”์žฅ ์ผ์‚ฌ์ฒœ๋ฆฌ

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages