Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/boostcampwm-2024/web05-denamu

개발자들의 이야기가 자라나는 곳, 데나무🎋
https://github.com/boostcampwm-2024/web05-denamu

blog nestjs nodejs reactjs rss shadcn-ui trending typeorm typescript

Last synced: 8 days ago
JSON representation

개발자들의 이야기가 자라나는 곳, 데나무🎋

Awesome Lists containing this project

README

        


데나무 로고

> 🎋 개발자들의 이야기가 자라나는 곳, 데나무
>
> 누구나 쉽게 기술 블로그를 공유하고, 최신 개발 트렌드와 인사이트를 발견하는 공간

| [📑 팀 노션](https://balsam-barometer-716.notion.site/9-Web05-12de624056ec805aa368dcf042f4bea7?pvs=74) | [🎨 디자인 프로토타입](https://www.figma.com/design/RcFu9MLQigDPZRrDW19Uic/Denamu---Design?node-id=36-5&node-type=frame&t=IzLL9ahn668ZHBRA-0) |
|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| [📋 **프로젝트 위키**](https://github.com/boostcampwm-2024/web05-Denamu/wiki) | [🚀 **프로젝트 태스크보드**](https://github.com/orgs/boostcampwm-2024/projects/32) |



Denamu Service

## 📖 프로젝트 소개
### 개요
데나무는 분산되어 있는 개발 콘텐츠를 한 곳에서 편리하게 볼 수 있는 RSS 기반 기술 블로그 큐레이션 플랫폼입니다.

개발 컨텐츠를 찾기 위해 여러 플랫폼을 돌아다닐 필요 없이, 데나무에서 기술 블로그들을 편하게 만나보세요.

### 프로젝트 기간
`2024.10.28 ~ 2024.12.06`

### 프로젝트 비전
데나무는 `모든 개발자의 성장을 돕는 지식 공유 플랫폼`이 되는 것을 목표로 하고 있어요.

현재 티스토리, velog, medium 등 여러 플랫폼에 흩어져 있는 기술 블로그들을 RSS를 통해 데나무에서 볼 수 있어요. 실시간 트렌드와 검색 기능으로 개발자들이 원하는 정보를 쉽게 찾을 수 있지만, 여기서 멈추지 않을 거예요.

북마크와 좋아요 기능으로 각자에게 맞는 콘텐츠를 제공해 더 활발한 개발자 커뮤니티를 만들어갈 거예요. 더 나아가 기술 트렌드 분석과 통계 기능을 강화해 의미 있는 인사이트를 전달하고자 해요.

궁극적으로 데나무는 AI 기반 태그 생성, 컨퍼런스 정보 모음, 더 많은 커뮤니티 기능까지 아우르는 통합 개발 정보 플랫폼으로 성장해 개발자들이 함께 배우고 성장하는 생태계를 만들어갈 거예요.

## ✨ 주요 기능

### RSS 기반 블로그 구독
![rss등록](https://github.com/user-attachments/assets/f374cbc1-121e-4360-848a-b18fd4143732)
RSS 링크만으로 간편하게 블로그를 등록할 수 있어요. 등록된 블로그의 새로운 글이 자동으로 업데이트되어 데나무의 최신 피드에 실시간으로 노출되어요.

### 실시간 트렌드 제공
![트렌드 변동](https://github.com/user-attachments/assets/74703d28-5135-4d28-88b2-76967c85488b)
30초마다 업데이트되는 트렌딩 포스트를 통해 인기 있는 글을 실시간으로 확인할 수 있어요. IP와 쿠키를 활용한 중복 조회 방지 시스템으로 통계를 제공하고, 매일 자정에 트렌드가 초기화되어요.

### 편리한 검색 시스템
![검색](https://github.com/user-attachments/assets/38687c31-92be-41e1-a50e-5e39f5c8f19f)
원하는 키워드로 기술 블로그 글을 쉽게 찾아볼 수 있어요. 연관성이 높은 게시글이 상단에 노출되는 유사도 기반 검색을 지원하고, 무한 스크롤로 끊김 없이 글을 탐색할 수 있어요.

### 통계와 분석
![통계](https://github.com/user-attachments/assets/1a692e0a-4ef6-48bd-b2c1-5bd3bb5daf5d)
일별 조회수 통계를 통해 인기 있는 콘텐츠를 한눈에 파악할 수 있어요. 블로그 플랫폼별 통계와 실시간으로 업데이트되는 인기 게시글 정보를 제공하고 있어요.

### 개발자 채팅
![채팅](https://github.com/user-attachments/assets/7c913fd5-e6e9-442c-bb41-3a60677614cd)
실시간 채팅을 통해 현재 데나무를 보고있는 개발자들과 실시간으로 자유롭게 소통할 수 있어요. 관심 있는 기술에 대해 바로 피드백을 주고받으며 함께 성장할 수 있어요.

## 🛠 기술 스택

tech stack v3

## 🏗️ 인프라 아키텍처
![image](https://github.com/user-attachments/assets/6523b71d-2bee-4f24-b8ec-436b747c6cc7)

## 👥 팀 소개

### 팀원 소개
| **Backend** | **Backend** | **Frontend** | **Backend** | **Frontend** |
|:--------------:| :------------------: | :-------------------------: | :-----------------------: | :-----------------: |
| ![박무성][musung] | ![안성윤][sungyun] | ![정명기][myeonggi] | ![조민석][minseok] | ![채준혁][junhyeok] |
| **[J103 박무성][musung_g]** | **[J152 안성윤][sungyun_g]** | **[J222 정명기][myeonggi_g]** | **[J235 조민석][minseok_g]** | **[J249 채준혁][junhyeok_g]** |
| _"열린 자세로 배우기"_ | _"바로 서버 정상화"_ | _"좋은 사람들과 좋은 시간"_ | _"런칭 이후 서버 예외 0"_ | _"완벽보다 완성"_ |

### 코드리뷰 문화
저희는 [뱅크샐러드의 코드리뷰 방법으로 유명한 Pn룰](https://blog.banksalad.com/tech/banksalad-code-review-culture/)을 적극적으로 도입하여 효과적이고 건설적인 코드리뷰 문화를 만들어가려 노력하고 있어요.
도입하게된 계기는 아래와 같은 점들이에요.
- 비언어적인 표현전달의 한계로 의사 전달의 불확실성의 우려
- 왜곡될 수 있는 강조 및 감정 표현 예방
- 적극적이고 상호 배려하는 코드 리뷰 문화 조성

모든 리뷰어들은 피드백 의견의 강도에 따라 P5 ~ P1을 먼저 코멘트에 밝혀요.
모든 리뷰어는 피드백 의견의 강도에 따라 아래와 같이 P5부터 P1까지의 우선순위를 코멘트 앞에 명시합니다:



우선순위
설명
예제




P5
(질문 및 추천)

제안사항으로, 반드시 반영할 필요는 없습니다.
P5 - 이런 식으로 리팩토링하면 더 간결해질 수 있을 것 같아요.


P4
(가벼운 제안)

가급적 고려되길 권장하지만 반드시 수정할 필요는 없습니다.
P4: 변수명을 조금 더 명확하게 바꿔보는 건 어떨까요?


P3
(중요)

비교적 기능에 영향을 미칠 수 있는 가능성이 미미하게 존재해 수정을 적극적으로 고려해야 합니다.
중요한 개선 사항이거나 모호한 부분에 대한 질문입니다.
P3) 이 로직은 경계값 테스트를 추가하는 게 좋아 보여요. 의견 주세요.


P2
(매우 중요)

코드 품질이나 기능에 영향을 미칠 수 있는 사항으로, 반드시 반영해야 합니다.
P2부터는 반드시 리뷰어와 반영 여부를 논의후 결정하여야 합니다.
P2) 여기서 무한 루프 가능성이 있습니다. 수정이 필요합니다.


P1
(최우선)

즉각 수정해야 할 중대한 문제로, 배포 시점 전에 반드시 해결되어야 합니다.
P1) 이 부분은 비즈니스 로직이 잘못 구현되었습니다. 수정하지 않으면 심각한 버그가 발생할 수 있습니다.

### 기술공유 문화
프로젝트를 진행하며 이번에 집중적으로 다루며 새롭게 학습한 기술 및 지식들이나, 이번에는 미처 사용해보지 못했지만 **휘발되기 아까운 지식들이 매우 자주 생겨났습니다.**

이러한 지식을 팀 내에서 공유하면 개인의 성장이 팀 전체의 성장으로 이어질 수 있다는 믿음으로, 저희는 자율적이고 활발한 지식 공유 문화를 만들었어요.

![image](https://github.com/user-attachments/assets/d67c938b-aece-4bbd-ac40-6c1bec9ff30b)
- 모든 팀원이 자유주제로 조사하거나 경험한 지식을 매주 1개 이상씩 자체적인 기술 세미나 시간에 공유하며 자유롭게 토론해요 📖

- 강제적인 발표가 아닌, 배우고 나누고자 하는 열정에서 출발한 시간이기에, 모두가 즐겁게 지식을 공유하는 시간이 될 수 있었어요 ✌️

[musung]: https://avatars.githubusercontent.com/u/63047990?v=4
[sungyun]: https://avatars.githubusercontent.com/u/79460319?v=4
[myeonggi]: https://avatars.githubusercontent.com/u/143400940?v=4
[minseok]: https://avatars.githubusercontent.com/u/99482796?v=4
[junhyeok]: https://avatars.githubusercontent.com/u/18231524?v=4
[musung_g]: https://github.com/CodeVac513
[sungyun_g]: https://github.com/asn6878
[myeonggi_g]: https://github.com/jungmyunggi
[minseok_g]: https://github.com/Jo-Minseok
[junhyeok_g]: https://github.com/junyeokk