/Company-Source

๐Ÿ˜Ž ๊ธฐ์—… ๋ถ„์„ ์‚ฌ์ดํŠธ ๐Ÿ˜Ž

Primary LanguageJava

๐Ÿข COMPANY-SOURCE ๐Ÿข

๊ธฐ์—…์˜ ์ •๋ณด๋ฅผ ๋ณด๋‹ค ํŽธํ•˜๊ณ  ์ „๋ฌธ์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๋Š” ์‚ฌ์ดํŠธ

image





๐Ÿ˜€ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ๐Ÿ˜€


โœ ํ”„๋กœ์ ํŠธ๋ช…

  • COMPANY-SOURCE(์ปดํผ๋‹ˆ์†Œ์Šค)

๐Ÿ’– ์„œ๋น„์Šค ์†Œ๊ฐœ

  • ์ทจ์—…์ด๋‚˜ ๊ธฐ์—…์— ๋Œ€ํ•ด ์•Œ๊ธฐ ์œ„ํ•ด์„œ ๊ธฐ์—…์„ ๋ถ„์„ํ•˜๋Š”๊ฒƒ์ด ์ ์ฐจ ๋Š˜์–ด๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ณต์žกํ•œ ๊ณ„์‚ฐ์‹๊ณผ ์–ด๋ ค์šด ์„ค๋ช…์ด ๋˜์–ด์žˆ๋Š” ๊ธฐ์—…๋ถ„์„์€ ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ์ ‘ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ปดํผ๋‹ˆ ์†Œ์Šค๋Š” ์ด๋ฅผ ๋ณด๋‹ค ํŽธํ•˜์ง€๋งŒ ์ „๋ฌธ์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘ค ์„œ๋น„์Šค ๋Œ€์ƒ

  • ๊ธฐ์—…์— ๋Œ€ํ•œ ๋ถ„์„์„ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ฐพ์•„๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

โ˜๐Ÿป ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๊ธฐ์—… ๋ถ„์„
  • ๊ธฐ์—… ๋น„๊ต
  • ์ปค๋ฎค๋‹ˆํ‹ฐ

๐ŸŽ  ๋ฐฐํฌ ํ™˜๊ฒฝ

๐Ÿ—“ ์ง„ํ–‰ ์ผ์ •

  • 23.04.10 ~ 23.05.19 (์ด 6์ฃผ)

๐Ÿšฉ ํ”„๋กœ์ ํŠธ ์š”์•ฝ

Application Language Framework DB
โœ… Desktop Web โœ… JavaScript ๐Ÿ”ฒ Vue.js โœ… Mysql
๐Ÿ”ฒ Mobile Web ๐Ÿ”ฒ TypeScript โœ… React โœ… MongoDB
๐Ÿ”ฒ Responsive Web ๐Ÿ”ฒ C/C++ โœ… NEXT.JS โœ… Redis
๐Ÿ”ฒ Android App ๐Ÿ”ฒ C# ๐Ÿ”ฒ Node.js
๐Ÿ”ฒ iOS App โœ… Python ๐Ÿ”ฒ Flask/Django
๐Ÿ”ฒ Desktop App โœ… Java โœ… Spring/Springboot


๐Ÿ‘จ ํŒ€ ์†Œ๊ฐœ - ๐Ÿข์ปดํผ๋‹ˆ์†Œ์Šค๐Ÿข

๊น€์ง„ํ˜ธ ๊น€์„ฑ์ค€ ํ•œ์ธํ™˜ ์ด๊ฐ•์œค ๋ฐ•์Šน์žฌ ์ตœํ˜„ํ˜ธ
image image image image image image






๐Ÿ“ข ์ฃผ์š” ๊ธฐ๋Šฅ ๐Ÿ“ข

๊ธฐ์—… ๋ถ„์„

  • ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ฒ€์ƒ‰ํ•ด์„œ ํ•œ๋ˆˆ์— ๋ณด๋Š” ๊ธฐ์—…๋ถ„์„

1๏ธโƒฃ ์ถ”์ฒœ ๊ธฐ์—…

  • ์‚ฐ์—…๋ณ„, ํ‰๊ฐ€ ์–‘ํ˜ธ๋ณ„, ์กฐํšŒ์ˆ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹ ๊ธฐ์—… ์ถ”์ฒœ
  • ๋‹ค์–‘ํ•œ ๊ธฐ์—…์„ ํด๋ฆญ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋žœ๋ค ๊ธฐ์—… ๋ชฉ๋ก ์ œ๊ณต

๋ Œ๋”ฉ์—์„œ๊ฒ€์ƒ‰๊นŒ์ง€

2๏ธโƒฃ ๊ธฐ์—… ์ •๋ณด ๋ฐ ๊ธฐ์—… ๋ถ„์„

  • DART์—์„œ ๋ฐ›์•„์˜จ ๊ธฐ์—… ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๊ฐ์ข… ๋ถ„์„๋ฒ•์œผ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ ์‹œ๊ฐํ™”
  • ํ•œ ํŽ˜์ด์ง€์— ๊ธฐ์—… ๊ฐœ์š”์™€ ๊ธฐ์—… ๋ถ„์„
  • ๋‹จ์ˆœ ๊ธฐ์—… ๊ฐœ์š”๋ฟ๋งŒ ์•„๋‹ˆ๋ผ CHAT-GPT์˜ ํ•œ๋งˆ๋””

๊ฒ€์ƒ‰๊ฒฐ๊ณผ๋ถ€ํ„ฐ๊ธฐ์—…๋ถ„์„๊นŒ์ง€


๊ธฐ์—…๋ถ„์„์—์„œ์„ค๋ช…๊นŒ์ง€

๊ธฐ์—… ๋น„๊ต

  • ํ•œ ๊ธฐ์—…์ด ์•„๋‹Œ ๋‘ ๊ธฐ์—…์„ ํ•œ๋ˆˆ์— ๋น„๊ตํ•˜์—ฌ ํ™•์ธ

ezgif com-resize



์ปค๋ฎค๋‹ˆํ‹ฐ

  • ๊ธฐ์—…๋ถ„์„ ๊ณผ ์ž์œ ๊ฒŒ์‹œํŒ 2๊ฐ€์ง€ ๊ฒŒ์‹œํŒ ์ข…๋ฅ˜
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ํŠน์„ฑ์— ๋”ฐ๋ผ ๊ธ€ ์ž‘์„ฑ

ezgif com-resize





๐Ÿ›  ๊ธฐ์ˆ  ๐Ÿ› 

โš  ๊ฐœ๋ฐœ ์—๋Ÿฌ ๋ฐ ๋กœ๊ทธ ์ŠˆํŒ… โš 

  • ๋ฉ”ํƒ€๋ชจ์ŠคํŠธ <--> ๊นƒ๋žฉ ์—ฐ๋™์œผ๋กœ merge request ํ™•์ธ ๋ฐ ํŒ€์› ์ž‘์—… ํ˜„ํ™ฉ ํ™•์ธ

image

  • ๋ฐฑ์—”๋“œ ์—๋Ÿฌ์‹œ mm์— ์—๋Ÿฌ ์ŠˆํŒ…

image



๐Ÿงฎ ๋ถ„์„๋ฒ• ๊ณ„์‚ฐ ๐Ÿงฎ

  • dart api๋ฅผ ํ†ตํ•ด ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜์—ฌ ์ €์žฅ ํ›„, ๋ถ„์„๊ธฐ๋ฒ•์— ๋”ฐ๋ผ์„œ ์žฌ๊ฐ€๊ณตํ•˜์—ฌ ์ €์žฅ

image



โšก ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง โšก

  • Next.js ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ด์šฉํ•˜์—ฌ server side rendering์„ ์ ์šฉ

  • ๋น ๋ฅธ ์ดˆ๊ธฐ ๋กœ๋”ฉ์†๋„

image

  • ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™” : google ๊ฒ€์ƒ‰ ๋ฐ sns ๋งํฌ ๊ณต์œ 

์ปดํผ๋‹ˆ์†Œ์Šค ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰

image





๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ ๐Ÿ”ง

**[ Backend ]**
- Java `11`
- MySQL `8.0.30`
- SpringBoot `2.7.10`
- Spring Data JPA `2.7.10`
- Gradle `7.6.1`
- Lombok
- Swagger `2.8.0`
- Spring Security
- JWT `0.9.1`
- Jasyp `3.0.3`
- Python `3.10.10`

**[ Frontend ]**
- npm `9.6.2`
- node `18.12.1`
- typescript `5.0.4`
- tailwindcss `3.3.1`
- next `13.3.0`
- react-redux `8.0.5`
- reduxjs/toolkit `1.9.5`
- nookies `2.5.2`
- chart.js `4.3.0`
- mui/material `5.13.0`
- gtga.js `0.0.12`


**[ DB ]**
- MySQL `8.0.30`

**[ DevOps ]**
- Docker
- Nginx
- Jenkins
- AWS EC2

**[ Storage ]**
- S3 Bucket

**[ IDE ]**
- IntelliJ
- VSCode

**[ Team Collaboration Tool ]
-** GitLab
- Notion
- JIRA
- MatterMost




๐Ÿ’ฅ ์•„ํ‚คํ…์ฒ˜ ๐Ÿ’ฅ

image





๐Ÿ’พ ERD ๐Ÿ’พ

์†Œ์Šค (1)





๐Ÿ“œ API ๋ช…์„ธ์„œ ๐Ÿ“œ

image





๐Ÿ“ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๐Ÿ“

Backend

โ””โ”€src
    โ”œโ”€main
    โ”‚  โ”œโ”€java
    โ”‚  โ”‚  โ””โ”€com
    โ”‚  โ”‚      โ””โ”€jobtang
    โ”‚  โ”‚          โ””โ”€sourcecompany
    โ”‚  โ”‚              โ”œโ”€api
    โ”‚  โ”‚              โ”‚  โ”œโ”€analysis_result
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€Dto
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€service
    โ”‚  โ”‚              โ”‚  โ”œโ”€comment
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€controller
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€dto
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€service
    โ”‚  โ”‚              โ”‚  โ”œโ”€community
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€controller
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€dto
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€service
    โ”‚  โ”‚              โ”‚  โ”œโ”€community_image
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€controller
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€service
    โ”‚  โ”‚              โ”‚  โ”œโ”€corp
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€controller
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€dto
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€service
    โ”‚  โ”‚              โ”‚  โ”œโ”€corp_detail
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€controller
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€document
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€dto
    โ”‚  โ”‚              โ”‚  โ”‚  โ”‚  โ”œโ”€analysis_etc
    โ”‚  โ”‚              โ”‚  โ”‚  โ”‚  โ””โ”€comparison
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€service
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€util
    โ”‚  โ”‚              โ”‚  โ”‚      โ”œโ”€Analysis
    โ”‚  โ”‚              โ”‚  โ”‚      โ”‚  โ”œโ”€analysis100
    โ”‚  โ”‚              โ”‚  โ”‚      โ”‚  โ”œโ”€Analysis300
    โ”‚  โ”‚              โ”‚  โ”‚      โ”‚  โ”œโ”€analysis400
    โ”‚  โ”‚              โ”‚  โ”‚      โ”‚  โ””โ”€analysis_etc
    โ”‚  โ”‚              โ”‚  โ”‚      โ””โ”€variable
    โ”‚  โ”‚              โ”‚  โ”œโ”€exception
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€customerror
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€mattermost
    โ”‚  โ”‚              โ”‚  โ”œโ”€faq
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€entity
    โ”‚  โ”‚              โ”‚  โ”œโ”€induty_detail
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€repository
    โ”‚  โ”‚              โ”‚  โ”œโ”€inquiry
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€controller
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€dto
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€service
    โ”‚  โ”‚              โ”‚  โ”œโ”€inquiry_comment
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€controller
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€dto
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€service
    โ”‚  โ”‚              โ”‚  โ”œโ”€likes
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€controller
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€entity
    โ”‚  โ”‚              โ”‚  โ”‚  โ”œโ”€repository
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€service
    โ”‚  โ”‚              โ”‚  โ”œโ”€scrap
    โ”‚  โ”‚              โ”‚  โ”‚  โ””โ”€entity
    โ”‚  โ”‚              โ”‚  โ””โ”€user
    โ”‚  โ”‚              โ”‚      โ”œโ”€controller
    โ”‚  โ”‚              โ”‚      โ”œโ”€dto
    โ”‚  โ”‚              โ”‚      โ”œโ”€entity
    โ”‚  โ”‚              โ”‚      โ”œโ”€repository
    โ”‚  โ”‚              โ”‚      โ””โ”€service
    โ”‚  โ”‚              โ”œโ”€config
    โ”‚  โ”‚              โ””โ”€util
    โ”‚  โ””โ”€resources
    โ””โ”€test