개요
- 1팀 팀원: 조현정,원유형(팀장),이서영,정소열,권석현,기한정
- 기간: 25/1/20 월~25/1/24 금
- 목적: 프로그래밍과 데이터 기초
- 주제:전국 자동차 등록 현황 및 기업 FAQ 조회 시스템
- 레퍼런스: 지표누리 자동차 등록현황, 기아 자동차 FAQ
프로젝트 시작순서
- 화면설계 (1/20~21 월) - figma (이서영)
- 각 화면별 기능
- 각 화면별 기능을 구현하기 위해서 필요한 기술 스텍 정의
- 디비 정의 (1/21 화) (권석현, 기한정)
- 화면에 뿌려질 데이터들을 ERD로 정의해서 테이블 설계
- 해당 테이블에 저장할 데이터를 수집
- 데이터 수집할 방법 (ex.공공 데이터)
- 화면 구현 (1/22~1/23 수,목 (오전)) - streamlit (조현정,정소열)
- 누가 어떤 화면을 할지
- 화면별 완성될 일정
- 통합 테스트 (1/23 목 (오후))
- 화면 설계서에 있는 내용으로 똑같이 모든 화면 테스트 진행.
- 테스트 시나리오를 작성해서 진행.
- 발표
- 화면 설계서, ERD 포함
화면설계, 디비정의, 화면구현 공부해두기 => 병렬로 월,화 진행
[GitHub - SKNETWORKS-FAMILY-AICAMP/SKN10-1st-1Team
Contribute to SKNETWORKS-FAMILY-AICAMP/SKN10-1st-1Team development by creating an account on GitHub.
github.com](https://github.com/SKNETWORKS-FAMILY-AICAMP/SKN10-1st-1Team/tree/develop?tab=readme-ov-file)
화면설계서
- toy project 진행시 팀원이 화면별로 설계,개발을 맡는다.
- figma 참고해서 만들어보기
- 최대한 화면설계서를 자세하게 쓴다.
https://www.figma.com/files/team/1228489967768862218/recents-and-sharing?fuid=1228489959815751531
[Login | Figma
https://www.figma.com/community
streamlit으로 화면 구현하기
- 나의 역할 : FAQ 화면 구현
- 나에게 넘어온 화면 설계서
- TODO
- github에서 DB 가져오기
- ② 검색어 입력 & FAQ DB 조회 로직 구현
- ③ FAQ 카테고리 탭 전환 & 카테고리 별 FAQ 데이터 조회 로직 구현
- ④ FAQ 출력 (질문 아래 누르기 버튼)
- (마지막에) pages 폴더 생성후 FAQ & 자동차 등록 현황 보고 merge
스트림릿으로 구현하기
- 넘어온 ERD 및 DB를 SQL로 만들기
- DB를 파이썬과 연결하여 스트림릿에 뿌릴 데이터를 뽑는 SQL문 작성하기
- 스트림릿 구현 (데이터 삽입 위치도 고려)
- 뽑아낸 데이터를 스트림릿에 뿌리기
설계대로 코딩이 되어야 한다.
예상대로 안나오면 코드 완성도가 떨어지는 것이다.- 날짜까지 정해야 함.
- 프로그램이 어떻게 흘러가는 지 기능을 다 정해야 함.
- 팀프로젝트에선 갈등이 있을 수 밖에 없다. 상대방이 멍청하다고 생각하지 말고 내가 설득을 못했다고 생각해라.
- 끊임없이 소통하면서 해야 결과물이 잘 나온다.
- 회사는 불공정하다. 내가 옳다고 생각하면 대안을 가져와야하고 그만큼의 실력을 갖추어야 한다.
Feedback (타팀 피드백 포함)
- DB connection 정보는 민감한 정보이기에 .env 로 환경변수에다 저장해야 한다. git ignore로 git에 올려지지 않게 해야 함.
- 파일 트리는 계정명이 아닌 기능명으로 정리하기. 제일 처음에 팀장이 전체적인 구조에 맞는 파일트리를 구성해서 그 안에 각자 팀원들이 기능을 완성시키는 것이 좋다.
- 브랜치도 기능별로 이름을 지어서 하는 것이 맞다.
- 디버깅 일지를 꼭 써서 나중에 참고해서 비슷한 실수를 줄일 수 있다.
- 크롤링은 법적,윤리적,상업적,보안으로 문제가 생길 수 있어 요즘은 어렵게 크롤링하도록 셀레늄을 쓴다. 그러나 이마저도 셀레늄은 너무 느리고 오류도 많이 난다.
- 문서를 잘 만들면 소통을 더 쉽게 할 수 있다.
- 개발을 하더라도 기능 구현에만 그치지 않고 정의를 할 줄 알아야한다
- https://docs.github.com/en/issues/planning-and-tracking-with-projects 깃헙 프로젝트 기능을 적극 이용해서 일정 관리를 해보자.
- 팀프로젝트를 혼자서 처음부터 끝까지 구현해보는 작업을 해보자. 하나의 프로젝트를 여러번 해보면서 극한으로 품질을 올려본 사람이 실력이 더 뛰어나다. 책을 보더라도 5번은 보면서 공부해보자. 여러개를 해보는 것보다 진짜 잘하는 사람을 회사는 원한다. stop watch를 두고 얼마나 빨리하는 지 보고 / 같은 시간안에 정교하게 만들수 있는 지 보자.
프로젝트 재정리
설계
- 일정 수립
- 기능 정의
- 화면 설계서
- ERD
깃헙
branch
- 기능별로 branch 생성
- 기능별 branch에서 develop branch를 pull, push해서 conflict 방지
- develop branch 에서 기능별 branch를 merge해서 완성
- main branch 에서 최종 반영하기
file tree
- 통일성 있게 만들기
- 공통모듈, api key, db connection info같은 것은 따로 파일 생성
- git ignore에 .pycache, .env, 등의 내용 등록
업무 프로세스
- data crawling
- DB 및 테이블 생성
- 파이썬에 디비 연결 및 select문으로 데이터 뽑기
- 화면 구현해서 데이터 뿌리기
- 실제 스트림릿 화면으로 테스트
- 반드시 디버깅 노트를 쓰면서 완성할 것.
'SK Networks Family AI bootcamp 강의노트 > 단위프로젝트' 카테고리의 다른 글
2차 단위 프로젝트 (0) | 2025.02.19 |
---|