Skip to content

심바톤 4팀 콩닥콩닥 팀 리포지토리입니다 🥰

License

Notifications You must be signed in to change notification settings

Chaem03/2024-simba-4-Kongdak

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

콩닥콩닥

대학생활을 기억하는 방식을 바꾸다.

readme_mockup2


프로젝트 소개

  • 콩닥콩닥은 시간이 흐르면 그리워질 우리의 학창시절,입학부터 졸업까지 당신의 설렘을 간직해드립니다.
  • 콩닥콩닥은 캠퍼스 건물 별로 나만의 일기를 기록할 수 있는 서비스입니다.
  • 일기를 기록하고, 해시태그 기능과 랭킹 시스템을 통해 다른 사람들과 교류할 수 있습니다.
  • 날씨 기능, 디데이, 업로드 수에 따라 달라지는 코끼리 이미지 등 소소한 디테일을 살려 서비스 이용에 재미를 더했습니다.

팀원 구성

zoey003 sayyyho chaem03 pyeree onlynyang
김지현 박세호 하채민 임현우 한지은
기획/디자인 프론트엔드 프론트엔드 백엔드 백엔드

✏️ 사용방법

🍎 Mac

python 3.11 버전 설치

https://www.python.org/ 에서 3.11 버전을 설치해주세요.

python virtualenv를 이용한 가상환경 정의

# 프로젝트를 생성하려는 폴더경로에서 git bash를 열고..
python3.11 -m venv venv

가상환경 실행 및 장고 설치

source venv/bin/activate

# 최초 1회만
pip install django

프로젝트 실행

# manage.py 포함된 경로에서
# Model을 건들이지 않았다면, 최초 1회만 실행
python manage.py makemigrations
python manage.py migrate

python manage.py runserver

💻 Windows

python virtualenv를 이용한 가상환경 정의

# 프로젝트를 생성하려는 폴더경로에서 git bash를 열고..
pip install virtualenv
virtualenv venv --python=3.11

가상환경 실행 및 장고설치

source venv/Scripts/activate

# 최초 1회만
pip install django

프로젝트 실행

# manage.py 포함된 경로에서
# Model을 건들이지 않았다면, 최초 1회만 실행
python manage.py makemigrations
python manage.py migrate

python manage.py runserver

1. 개발 환경

  • PD : Figma ( 디자인 보러가기 )
  • Frontend : HTML, CSS, JavaScript
  • Backend : Python, Django
  • 버전 및 이슈관리 : Github, Github Issues
  • 협업 툴 : Discord, Notion

2. 협업 전략

Git-flow 전략

  • Git-flow 전략을 기반으로 main, develop 브랜치와 feature 보조 브랜치를 운용했습니다.
  • main, develop, Feat 브랜치로 나누어 개발을 하였습니다. - main 브랜치는 무결성 검증 이후 단계에서만 사용하는 브랜치입니다. - develop 브랜치는 개발 단계에서 git-flow의 master 역할을 하는 브랜치입니다. - Feat 브랜치는 기능 단위로 독립적인 개발 환경을 위하여 사용하고 merge 후 각 브랜치를 삭제해주었습니다.

GitHub Role

  • 사용자는 먼저 Upstream Repository를 자신의 GitHub 계정으로 포크(fork)하고, 이 포크(fork)된 Origin Repository를 로컬 컴퓨터로 Clone하여 작업합니다.

  • 그 후 개발한 변경 사항을 Origin Repository로 Push합니다. 이후 Upstream Repository로 풀 PR를 보내 변경 사항을 제안합니다.

  • PR이 완료 된 후 Upstream Repository의 최신 변경 사항을 가져오기 위해 Local에서 풀(pull)을 사용합니다.

개발을 시작할 때

  1. 개발을 시작할 때는 Upstream Repository에서 Issue를 생성합니다.
  2. 이후 Issue에서 Origin Repository의 Dev Branch에서 새로운 Branch를 생성합니다
    • 이때 브랜치 이름은 다음을 따릅니다.
    • 새로운 기능 개발 : feature/#[Issue의 번호]
    • 버그 픽스 : fix/#[Issue의 번호]
    • 기능 리팩토링 : refactor/#[Issue의 번호]
  3. Loacl에서 Fetch를 통해 만든 New Branch(feature or fix or refactor)을 들고옵니다.
  4. 해당 Branch로 checkout 이후 기능 개발을 진행합니다.

개발을 종료할 때

  1. 기능 개발이 종료되면 Origin Repository의 Branch(feature or fix or refactor)로 변경 사항을 Push 합니다.
  2. Origin Repository에서 Upstream Repository로 PR을 보냅니다.
  3. Code Review 이후 마지막으로 Approve한 사람은 Squash And Merge를 합니다.
  4. PR이 Squash And Merge되면 Local에서는 dev Branch로 checkout합니다.
  5. Local에서 Upstream Repository의 dev Branch를 pull 받습니다.
  6. 마지막으로 Origin Repository의 dev Branch를 Update하기 위해 Push를 해줍니다.

Main Branch가 갱신될 때

  1. 만약 Release Version을 낼 때는 Upstream의 dev Branch에서 main Branch로 PR을 날립니다.
  2. 해당 Repository의 모든 사용자가 Code를 재확인한 후 Merge를 합니다.

Commit & PR Convention

Commit Type Description
Feat 기능 개발
Fix 버그 수정
Docs 문서 수정
Style 코드 formatting, 세미콜론 누락 등 코드 자체의 변경이 없는 경우
Refactor 코드 리팩토링
Chore package manager 수정 등
Design CSS 등 사용자 UI 변경

3. 프로젝트 구조

├── README.md
├── LICENSE
├── .gitignore
├── project
│   ├── .gitignore
│   ├── db.sqlite3
│   ├── manage.py
│   ├── Pipfile
│   ├── project
│   │   ├── __init__.py
│   │   ├── asgi.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   ├── wsgi.py
│   │   ├── static
│   │   │   ├── assets
│   │   │   │   ├── font
│   │   │   │   │   ├── Sagak-sagak.ttf
│   │   │   │   │   ├── Human-beomseok.ttf
│   │   │   │   ├── images
│   │   │   │   │   ├── a_screen.svg
│   │   │   │   │   ├── arrow.svg
│   │   │   │   │   ├── b_screen.svg
│   │   │   │   │   ├── ...
│   │   │   ├── css
│   │   │   │   ├── base
│   │   │   │   │   ├── index.css
│   │   │   │   │   ├── reset.css
│   │   │   │   ├── shared
│   │   │   │   │   ├── topnav.css
│   │   │   │   ├── all_posts.css
│   │   │   │   ├── category_a.css
│   │   │   │   ├── category_b.css
│   │   │   │   ├── category_c.css
│   │   │   │   ├── categorypage.css
│   │   │   │   ├── create_post.css
│   │   │   │   ├── edit.css
│   │   │   │   ├── login.css
│   │   │   │   ├── main.css
│   │   │   │   ├── post_detail.css
│   │   │   │   ├── search.css
│   │   │   │   ├── signup_done.css
│   │   │   │   ├── signup.css
│   │   │   ├── js
│   │   │   │   ├── allPost.js
│   │   │   │   ├── backControl.js
│   │   │   │   ├── category.js
│   │   │   │   ├── createPost.js
│   │   │   │   ├── editPost.js
│   │   │   │   ├── login.js
│   │   │   │   ├── main.js
│   │   │   │   ├── placeFrame.js
│   │   │   │   ├── postDetail.js
│   │   │   │   ├── search.js
│   │   │   │   ├── signup.js
│   │   │   │   ├── topnav.js
│   │   │   │   ├── weather.js
│   │   ├── templates
│   │   │   ├── shared
│   │   │   │   ├── _topnav.html
│   │   │   ├── base.html
│   └── main
│       ├── __init__.py
│       ├── admin.py
│       ├── apps.py
│       ├── forms.py
│       ├── models.py
│       ├── tests.py
│       ├── urls.py
│       ├── utils.py
│       ├── views.py
│       ├── templates
│       │   ├── all_posts.html
│       │   ├── cateogrypage.html
│       │   ├── create_post.html
│       │   ├── edit_post.html
│       │   ├── firstpage.html
│       │   ├── mainpage.html
│       │   ├── post_detail.html
│       │   ├── search.html
│       │   ├── secondpage_a.html
│       │   ├── secondpage_b.html
│       │   ├── secondpage_c.html
│       │   ├── signup_done.html
│       │   ├── signup.html


4. 개발 기간 및 작업 관리

개발 기간

  • 전체 개발 기간 : 2024-06-16 ~ 2024-06-26

작업 관리

  • GitHub Issues를 사용하여 진행 상황을 공유했습니다.
  • 매일 스크럼 회의를 진행하며 작업 순서와 방향성에 대한 고민을 나누고 노션에 회의 내용을 기록했습니다.

About

심바톤 4팀 콩닥콩닥 팀 리포지토리입니다 🥰

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 30.4%
  • CSS 27.9%
  • Python 21.4%
  • JavaScript 20.3%