About
SKKUDING(스꾸딩)은 SKKU와 coding을 합친 이름으로, Codedang(코드당) 웹사이트 개발 프로젝트를 주도적으로 진행하는 프로젝트 팀이에요. 2020년 알고리즘 동아리인 NPC 소속 개발팀에서 처음 시작하여 2022년 1학기에 공식적으로 독립된 동아리로 분리되었어요.
스꾸딩은 사람들과 함께 성장하는 것이 주된 목표예요.
학생들이 접하기 어려운 큰 프로젝트를 통해 경험과 실력을 키울 수 있는 환경을 제공해요.
- 현업 프로세스와 유사한 환경을 겪어봐요. (CI/CD 파이프라인, issue tracker 등)
- 오픈소스에 기여한 내용을 내 포트폴리오로!
- 개발에 능숙하지 않더라도, 멘토와 함께 스터디를 통해 실력을 키워요.
- 더 나은 코드를 위해 PR 리뷰로 서로 도움을 주고받아요.
스꾸딩은 자유로운 분위기를 지향해요.
- ‘밥 먹을 사람’, ‘모각코’ 등 자유로운 소통을 위한 채널이 마련되어 있어요.
- ‘모닥불’ 채널에서는 잡담과 질문을 자유롭게 할 수 있고, 다양한 정보 공유도 이루어져요.
- 동아리방에 마련된 간식은 무제한 제공이에요 (。•̀ᴗ-)✧!
- 동아리원들이 서로 친해질 수 있는 행사(세미나, 교류의 밤 등)를 주기적으로 진행해요.
스꾸딩 자랑 한번 할게요 😎
지난 한 해 동안 총 1,350만원의 지원금을 받았어요! 🎉
- 2023년 소프트웨어융합대학 우수동아리 지원금 (400만원)
- 2023년 성균 명품 스터디클럽 지원금 (1학기 150만원, 2학기 150만원)
- 2023년 성균 명품 스터디클럽 우수학회 최우수상 (300만원)
- 2023년 성균 명품 스터디클럽 도전학회 실적 달성 (200만원)
- 2024년 성균 명품 스터디클럽 지원금 (1학기 150만원)
코드당은 이런 서비스예요! 📈
코드당은 성균관대학교 전교생을 대상으로 하여 코딩 능력 향상을 돕는 Online Judge 시스템입니다. 학생들은 다양한 연습 문제로 실력을 키울 수 있고, 프로그래밍 대회에 참가하여 자신의 실력을 확인할 수 있어요. 코드당을 지속적으로 사용하면서, 학생들이 전학년에 걸쳐 얼마나 성장했는지를 스스로 점검할 수 있는 서비스를 제공하는 것이 목표예요.
이 프로젝트는 시스템 대부분이 GitHub에 오픈 소스로 공개되어 있어, 원하는 기능을 제안하거나 직접 만들고 수정할 수 있어요. 자신이 제안하거나 구현한 내용을 포트폴리오로 바로 활용할 수도 있고요! 더 많은 내용을 보려면 아래 GitHub 링크를 확인해보세요.
skkuding/codedang: Online Judge for SKKU
Online Judge for SKKU. Contribute to skkuding/codedang development by creating an account on GitHub.
각 팀은 어떤 역할을 맡나요? 🧐
🎨 기획/디자인 팀은 코드당 서비스의 전체적인 비전과 목표를 설정하고 이를 달성하기 위해 다양한 아이디어들을 발굴하며 적절한 디자인과 새로운 기능을 고민해요.
- 배포된 서비스에 대한 사용자의 피드백을 수집하고 분석해서 새로운 기능을 구상할 수 있어요.
- Figma로 UX 친화적인 UI를 디자인하고 체계적인 디자인 시스템을 설계할 수 있어요.
- 효율적인 업무 프로세스를 기반으로 개발팀과 직접적으로 소통하고, 일정과 작업 우선 순위 등 프로젝트 전반을 관리할 수 있어요.
👀 프론트엔드 팀은 코드당의 화면을 담당하고 있어요. 서버의 데이터와 사용자가 상호작용할 수 있도록 다리가 되어줘요!
- 사용자가 편하게 코드당 서비스를 사용할 수 있도록 화면을 구현해요.
- 정해진 기획과 디자인에 맞게 서비스에 필요한 기능들을 구현해요.
- 백엔드 팀에서 구현한 데이터 구조에 맞춰 API를 연결하고 데이터를 화면에 보여줘요.
- 사용자와 서버의 데이터를 알맞게 동기화하는 로직을 고민해요.
- 사용하고 있는 기술은 React.js, Next.js, Typescript, Tailwind CSS, shadcn 등이 있어요.
🧩 백엔드 팀은 코드당의 백그라운드 로직 개발을 맡고 있어요! 서비스의 핵심 기능을 완성하고 사용자 요청에 원활하게 응답할 수 있도록 지속적으로 성능을 개선해나가요.
- 사용자와 서버 간의 통신을 위한 API를 설계하고 개발해요.
- 사용자 인증, 문제/대회/그룹 관리와 같은 코드당 서비스의 중심 기능을 만들어요.
- 성능을 최적화해 서비스를 안정적으로 운영할 수 있도록 해요.
- 데이터베이스를 구성 및 관리하며 필요한 정보를 사용자에게 안전하게 전달해요.
- 사용하고 있는 기술은 Node.js, NestJS, Prisma, PostgreSQL, RabbitMQ, Redis, Go 등이 있어요.
🌱 인프라 팀은 여러 팀원들이 작업한 코드가 꼬이지 않고 잘 합쳐지도록 기반을 마련하는 역할을 해요. 자동으로 코드를 테스트하고 배포하는 환경을 구축하며, 필요한 성능에 따라 서버 크기와 개수를 조절해요.
- 팀원의 코드를 기존 코드와 합칠 때 CI 파이프라인으로 코드에 이상이 있는지 자동으로 확인해요.
- 누구나 버튼 클릭만으로 배포를 할 수 있도록 CD 파이프라인으로 자동화된 배포를 지원해요.
- 배포 전 구현한 기능이 제대로 동작하는지 확인할 수 있는 스테이지 서버를 운영해요.
- 클라우드 서버(AWS)에 프론트엔드와 백엔드, 데이터베이스, 스토리지 등 환경을 구축해요.
- 서버 및 여러 환경 관리를 자동화하여 인력이 효율적으로 쓰일 수 있도록 도와줘요.
- 사용하고 있는 기술은 GitHub Action, AWS(EC2, S3, Cloudfront, ECS, RDS, ElastiCache, MQ 등), Docker, Terraform 등이 있어요.
활동은 이렇게 진행해요! 🔥
신규 팀원 분들은 학기 중에 팀별로 커리큘럼에 따라 학습을 진행하고, 방학부터 프로젝트 개발에 참여해요. 학습에 사용될 인프런 강의는 동아리에서 지원하며, 다른 신규 팀원 분들과 학습 내용을 공유하는 시간을 주 1회 가질 예정이에요. 방학에는 온보딩을 통해 코드당 프로젝트에 본격적으로 참여하실 수 있도록 도와드리고 있어요. 스터디는 율전에 위치한 동아리방이나 스터디룸을 예약하여 진행하고 있어요.
스터디 내용
스터디는 스꾸딩의 스터디 Cookbook을 활용해요. 총 8주간 진행하고, Cookbook의 가이드를 따라 팀별로 스터디를 진행해요. 기획/디자인 팀은 학기중 스터디와 프로젝트 참여가 동시에 이루어져요. 중간고사와 기말고사 기간에는 휴식 기간을 가져요.
스꾸딩 Cookbook
스꾸딩의 신입 팀원들을 위해 스꾸딩의 개발 레시피를 모아둔 곳입니다!
팀별 8주 커리큘럼은 아래와 같아요. (커리큘럼은 매 학기마다 변경될 수 있어요!)
주차 | 프론트엔드 | 백엔드 | 인프라 | 서비스 기획 / UX/UI디자인 |
---|---|---|---|---|
1주차 | HTML, CSS | Network | Node.js | 도메인 이해 및 IA 설계 |
2주차 | JavaScript | Node.js | Express.js | 와이어프레임 설계 |
3주차 | TypeScript | Express.js | Docker | 프로젝트 관리 방법론 및 이슈 트래커 |
4주차 | React | TypeScript | AWS EC2, Network | 서비스 기획 및 디자인 기초 |
5주차 | REST API, GraphQL | NestJS (1) | AWS S3, Cloudfront, IAM | [1차 스프린트] 유저 인터뷰 (관리자 측) |
6주차 | Tailwind CSS | NestJS (2) | AWS ELB, ECR, ECS | [1차 스프린트] 화면 구현 및 기능명세서 작성 |
7주차 | React Ecosystem | Prisma | Terraform | [2차 스프린트] 유저 설문조사 (사용자 측) |
8주차 | Next.js | GraphQL | GitHub Actions | [2차 스프린트] 화면 구현 및 기능명세서 작성 |
업무 내용
방학부터는 본격적으로 Task를 할당 받아 프로젝트를 함께 해요! 매주 팀별 회의가 있고, 회의 시간은 팀별로 조율해요.
서비스 기획
- 웹 프로덕트의 새로운 기능 구상 및 산출물 창출
- UX/UI 및 프로덕트 세부 정책 설계
- 협업 툴 기반 전체적인 개발 일정 및 우선순위 조율
- 유저 리서치를 통한 정량적·정성적 데이터 확보
UX/UI 디자인
- 실제 유저들의 사용성을 고려한 UI 디자인
- 제품 운영 및 관리에 필요한 디자인 리소스 제작
- 조형적 완성도가 높은 GUI 리디자인 및 디자인 시스템 설계
- 정량적·정성적 데이터를 기반으로 한 시각적 해결 방안 도출
프론트엔드
- Next.js RSC 기반 성능 최적화
- GraphQL을 활용한 Admin 페이지 개발
- Sentry를 활용한 에러 모니터링
- E2E(End-to-End) 테스트 시나리오 작성 (Playwright)
- Web용 Code Editor 기능 개발 (CodeMirror)
- 반응형 디자인 (모바일 대응), 다크 모드 도입
- 효과적인 Error Handling 전략 수립 및 적용
백엔드
- Grafana 모니터링 기반 문제 상황 대응
- GraphQL을 활용한 Admin API 개발
- REST API 기반 Client API 개발
- OpenTelementry를 통한 서버 성능 검증
- 새로운 Judge Sandbox 개발 (Rust)
- 코드 채점/실행 기능 개발 (Golang)
인프라
- AWS 비용 최적화
- 데이터베이스(AWS RDS) 백업 및 복구 전략
- CodeDeploy 기반 배포 환경 재구축
- On-premise 스테이지 서버 구축
- Grafana 모니터링 환경 개선
- 로드 테스트
이런 혜택을 받을 수 있어요! 😎
- 웹 개발 스택 학습을 위한 인프런 강의 및 도서 지원
- 개발 컨퍼런스 참가비 지원
- 서버, 클라우드 운영비 등 지원
- 든든한 선후배 네트워크
- 지도 교수님과의 활발한 소통
- 간식 지원(!)
우리는 이런 팀원을 원해요! 👍
- 새로운 것을 배우는 일에 주저하지 않는 열정적인 사람
- 동아리 활동에 적극적으로 참여할 수 있는 사람
- 개발에 관심을 갖고 질문하고자 하는 사람
지원해보시겠어요? ✏️
아래 링크에서 지금 바로 지원할 수 있어요!
모집 대상 | 성균관대학교 재학생 및 휴학생, 전공 무관 |
모집 분야 | 프론트엔드 / 백엔드 / 인프라 / 서비스 기획 / UX/UI 디자인 |
모집 기간 | 9월 5일(목) 18시까지 |
면접 대상 안내 | 9월 6일(금) 18시 |
면접 기간 | 9월 7일(토) ~ 8일(일) |
합격자 발표 | 9월 10일(월) 18시 |
OT | 9월 13일(금) 17시 |
자주 받는 질문들을 모아봤어요. 🤔
Q. 면접은 어디서 진행하나요?
A. 온라인으로 진행합니다!
Q. 선발되지 못한 경우에도 연락을 받나요?
A. 네! 모든 분께 결과를 알려드리는 문자를 보내드려요.
Q. OT는 언제, 어디서 하나요? 불참 시 불이익이 있나요?
A. 9월 13일 오후 5시, 율전에서 오프라인으로 OT 진행 예정입니다! 불참 시 불이익은 없지만, 참석을 권장드려요.
Q. 활동은 주로 어디서 하나요?
A. 보통 개발 팀은 율전에서, 기획/디자인 팀은 명륜 혹은 온라인으로 진행해요. 학교 공간이나 율전에 위치한 동아리방에 주로 모여요. 학기 중 모든 부원이 참여하는 세미나를 2차례 진행 예정이고, 사당역 인근에서 진행 예정이에요.
Contact us 📞
궁금한 내용은 카카오톡 채널 skkuding으로 연락주세요!
SKKU 개발동아리 skkuding