Show GN: Rust 커뮤니티를 Django 와 AI 로 만들었다고?
(rust-lang.kr)최근 Rust 공부를 시작하며 괜찮은 커뮤니티가 있으면 좋을 것 같다고 생각해서 직접 만들게 되었습니다. 'Rust 로 만들어볼까?' 하다가 그래도 공개된 커뮤니티다보니 '많은 사람들이 안정적으로 사용하는게 더 중요하다' 라는 생각에 경험이 많은 Django 로 개발하게 되었습니다.
(프론트엔드 등의 추가적인 설명은 아래에서 자세히 말씀드릴게요 👏)
사이트
- 러스트 국내 커뮤니티 : https://rust-lang.kr
- 백엔드(Django) 소스코드 : https://github.com/lee-lou2/rust-korea
백엔드
위에서 말씀드리는 것처럼 백엔드는 Django 를 이용해서 개발하게되었습니다.
[ 적용된 기술 ]
- 데이터베이스는 Sqlite3 를 사용하고 있지만 Django ORM 을 사용하고 있어 간단하게 교체하실 수 있습니다.
- 프론트엔드 빌드된 코드는 Django Template View 로 랜더링하였습니다.
- 그러다보니 자연스럽게 세션을 사용하였습니다.
- 무한 스크롤 및 고도화된 기능 사용을 위해 DRF 사용해 Rest API 도 추가 개발되어있습니다.
- DRF 에는 Filterset 적용과 Throttling 을 적용해 안정성을 높였습니다.
[ 구현한 기능 ]
- 피드를 작성/수정하고 무한 스크롤 형태로 조회할 수 있는 기능이 포함되어있습니다.
- 피드 좋아요와 신고하기 기능도 구현하였습니다.
- 댓글, 대댓글 생성/수정/조회, 댓글 좋아요, 댓글 신고 기능도 있습니다.
- 카테고리를 분류하였으며 미리보기가 포함된 링크 삽입도 가능하도록 개발했습니다.
- 구글 로그인과 프로필 수정, 내 작성 글 관리 등의 개인 메뉴도 포함되어있습니다.
프론트엔드
주로 백엔드 개발만하다보니 프론트엔드는 만들 순 있지만 잘 만들진 못해서 AI 의 힘을 빌리게 되었습니다.
제가 사용한 서비스는 bolt.new 입니다.
(open bolt 라고 로컬에서 내 API KEY 를 이용해 사용하는 방법도 있습니다)
자연어로 간단히 프론트엔드를 만들 수 있는 웹사이트입니다.
- 그냥 간단히 요구 사항을 작성했는데 처음부터 너무 마음에 드는 사이트가 나오는게 아닙니까?
- '헐! 이거 대박이다' 라는 생각에 기능들을 추가해나갔습니다.
- 세부적인 제어가 가능해 대부분의 기능이 거의 완벽하게 구현되었습니다.
- '여기가 끝이었다면 좋았겠지만...' 문제는 여기서부터입니다.
- 내가 만든 API 를 연동하려하니 그때부터 꼬이기 시작한겁니다.
- 기존에 잘 만들어져있던 디자인이 망가지고 오류가 계속 나고
- 만들 수 있는 크레딧엔 한계가 다가오고...
- 도저히 진도가 나가지 않아 그냥 API 연동 전으로 돌린 후 로컬로 코드를 다운 받았습니다.
- 이제부턴 2번째 AI 친구와 함께 작업하기 시작했습니다.
- 그건 바로 Cursor 입니다.
- 로컬에서 API 를 직접 연동하면서 작업하니 생각보다 너무 잘됐습니다.
- 또한 Cursor 는 좀 더 정밀한 제어가 가능하고 되돌리기, 부분 문백 이해하지, 별도 문서 참조하기 등이 가능해서 내가 생각한 목표 이상으로 만들어줬습니다.
그렇게 목표했던 프론트엔드 개발을 완료하였습니다.
마치며
뜬금없지만 Rust 너무 재미있네요ㅋㅋ나중에 백엔드 고도화 할 땐 Rust 로 바꿔봐야겠어요.
제가 만든 Rust 커뮤니티에도 많은 방문 부탁드려요 🙏 아직 글이 많진 않지만 해커 뉴스도 번역해서 올리려하고 다양한 이벤트들이 있다면 열심히 올리려고합니다.
다음엔 더 좋은 콘텐츠로 인사드릴게요
최근에 Geeknew 에 글을 하나씩 쓰기 시작했는데 생각보니 재밌네요ㅋㅋ
이 전 글도 시간 되시면 한 번 구경해주세요
(https://news.hada.io/topic?id=18602)
감사합니다 😊