Software Maestro 해커톤 (1) - 어른이들(해커톤 일정 / 아이디어 선정 / 개발 환경)

김정욱·2021년 5월 14일
0

SoftwareMaestro

목록 보기
4/6
post-thumbnail

해커톤 일정

[ 전체 일정 ]

  • Software Maestro에서 주최하는 Hackathon개최(모든 연수생 필수 참가)
  • 시간
    • (21년) 05월 13일 14시 ~ 05월 14일 10시 - 개발 시간
    • 발표 / 투표를 포함해서 5월 14일 14시까지 진행
  • 주제
    • 공공 데이터를 활용사회 문제 해결
    • 공개 API 예시 : 공공 데이터 포탈(data.go.kr) / AI Hub(aihub.or.kr) 등등
    • 반드시 웹 페이지로 제작 ( 기존에 웹 경험이 없으신 분들은 배워서 진행하기도 함 )

[ 상세 일정 & 우수작품 선정 ]

( 상세 일정 )


(발표 및 우수작품 선정)

  • 우수작품 선정
    • 각 팀의 구글 스프레드 시트에 정보 (팀의 git repo / 도메인 url)를 보고 판단
    • 다른 팀의 결과물을 보고 팀당 3개의 팀에 투표(본인 팀 제외)
      : 1등(3점) / 2등(2점) / 3등(1점)

[ 팀 구성 ]

  • 구성
    • 연수생 6인 1조 + @(멘토 1인)
    • 미니 프로젝트와 다르게 자율 팀매칭으로 팀원 구성 (일정 날짜 까지 구하지 못한 분들자동 매칭)
  • 방법 : 저는 미리 4분의 사람과 팀을 매칭한 후에 Webex공고를 올려 팀원을 구했습니다
    • Software Maestro 홈페이지에 있는 '자기 이력 카드'를 보고 연락
    • 전체 연수생이 있는 Webex 대화방공고를 올리기

[ 진행 방식 ]

( 온 / 오프라인 )

  • 대부분 온라인으로 진행
  • 오프라인의 경우 Software Maestro 연수센터를 이용 / 전원 오프라인 희망팀지원 가능
  • Software Maestro 연수 센터에서 오프라인으로 4개의 팀만 진행 (지원한 팀 중 4팀 선정)
    (저희는 추첨에서 떨어져 온라인으로 진행하였습니다ㅠ)

( 개발 진행 )

  • 미니 프로젝트동일하게 구름 IDE(https://ide.goorm.io)사용
  • 구름측에서 팀원들하나의 WorkSpace초대한 후 Workspace에서 컨테이너만들어서 사용
  • 컨테이너 개수 제한은 따로 없음
  • 컨테이너Git repository연결시켜서 사용
  • 미니프로젝트 / 해커톤을 진행하면서 느낀 것은 구름 IDE 자체에서 개발은 힘들다고 생각 (느림)
    --> 배포용으로 사용(도메인과 / 포트 설정 가능)
  • Webex라는 화상 채팅 SW를 이용
    • Network로 유명Cisco에서 만든 SW
    • ZOOM과 사용성이 비슷한정도?
    • Software Maestro에서 모든 멘토링 / 협업을 이 Webex를 기반으로 진행

어른이들(Adulties) 시작

[ 아이디어 선정 ]

  • 주제 : 공공데이터를 활용사회문제 해결
    • 주제가 생각보다 어려워서 하루만에 개발하기에 쉽지 않다고 생각
    • 공공 데이터를 꼭 활용해야 하는 제한사항
  • 노션(Notion)사용해서 기본적인 온라인 협업을 진행
  • 선정 아이디어
    • 아이디어 : 응급 의료기관 조회 서비스
    • 활용 데이터 : https://www.data.go.kr/data/15000563/openapi.do
    • 핵심 기능
      • 현재위치 / 시,구 정보를 활용한 응급 의료기관 조회
      • 다양한 필터 제공(거리 / 현재 진료 가능 여부 / 진단 항목)
      • 카카오 맵(Kakao Map) API활용해서 지도에 마커를 사용

[ 개발 환경 ]

( 팀 역할 구성 )

  • 웹 프론트 (React.js) - 3명
    (본인React를 활용한 웹 프론트 개발로 참여)
  • 백엔드 (Node.js) - 3명

( React 개발 )

  • React를 편리하게 사용하기 위한 CRA(Create-React-App) 사용
  • 구조
    : 웹의 규모 / 지속 서비스 여부 등에 따라서 Redux / Redux-Saga / 등은 배제하고 심플하게 구성
    • components : 필요한 컴포넌트
    • config : kakao REST API키 관리
    • api : 서버 통신을 하기 위한 api

( 디자인 )

  • 개발도 개발인데 디자인이 걱정됨 (개발자끼리 디자인하면 항상 재밌어지기 때문ㅎㅎ;)
  • 그래서 최대한 심플하고 간단하게 구성
  • React에서 Ant Design을 사용할 예정이기 때문에 Antd 템플릿에서 layout 등을 가져와서 사용
  • 간단한 뷰 UI를 만들기 위해 피그마(Figma)를 사용

( 배포 환경 - 구름IDE )

  • 구름측에서 제공해준 구름 IDEWorkspace를 통해서 frontend 컨테이너를 만들고 설정
  • 내부도메인 / 포트지정해서 사용
profile
Developer & PhotoGrapher

0개의 댓글