/dev-city

개발자들을 위한 스터디 서비스

Primary LanguageJavaScript



✨개발자들을 위한 스터디 서비스, dev-city✨


🔮 목차

  1. 프로젝트 소개
  2. 기능 소개
  3. 개발 환경
  4. 기술 스택
  5. API 명세
  6. 폴더 구조
  7. Commit & Branch Convention

📢 프로젝트 소개

다양한 사용자들과 함께 스터디를 만들어요!
정보를 공유하고, 소통하며 함께 성장할 수 있어요.
dev-city에서 나만의 도시를 만들어보세요!

배포링크 : http://dev-city.link

  • Test ID : dev-city
  • Test PW : test1234

프로젝트 기간 : 23.04.06 ~ 23.04.19

팀원 소개

“장경은 “김민정 “박지원 “송수빈 “조성희
장경은 김민정 박지원 송수빈 조성희
Front-end
Back-end
PM
Front-end
Back-end
Front-end
Back-end
Front-end
Back-end
Design
Front-end
Back-end
로그인 & 회원가입
나의 할 일
스터디 내 게시판
친구도시 보기
1:1 채팅
메인페이지
추천친구
프로필 사진 업로드
스터디 검색 필터
스터디 목록 페이지
스터디원 학습 현황
스터디 모집 종료 및 관심 스터디 기능
UI/UX & 브랜딩
참여/관심 스터디
스터디 검색
스터디 공유
문자 전송
프로그레스 바
스터디 생성
스터디 삭제
스터디 탈퇴
스터디 수정
스터디 상세페이지

🕹 기능 소개

로그인 & 회원가입 스터디 생성 및 삭제
스터디 필터링 스터디 가입 및 수락
스터디 검색 스터디 탈퇴
마이페이지 - 스터디 마이페이지 - 할 일
스터디 상세 페이지 맞팔하기
DM 주고받기 친구도시 방문

🖥️ 개발 환경

테스트 환경

Python
Chrome

IDE

Python
Visual Studio Code

DataBase

Python
MongoDB Atlas

Primary Libarary

  • React : 18.2.0
  • React-Router-Dom : 6.10.0
  • Redux : 4.2.1
  • Sass : 1.16.0
  • Axios : 1.3.5
  • MongoDB : 5.2.0

🛠 기술 스택

Back-end

nodejs express jwt socket

Front-end

html5 css3 javascript sass react redux axios

Database

MongoDB

Cooperation

git github figma

📑 API 명세

API 명세서
ROUTE METHOD URI DESCRIPTION
/user GET /:id 유저 정보 가져오기
POST /setlist/:id 투두 항목 추가
POST /deletelist/:id 투두 항목 삭제
POST /updatelist/:id 투두 항목 수정
POST /signup 회원가입
POST /signin 로그인
POST /kakaologin 카카오 로그인
POST /githublogin 깃허브 로그인
POST /githublogin/fetch 깃허브 토큰 발급
POST /updateuser/:id 유저 정보 수정
POST /updateuser/image/:id 유저 이미지 수정
POST /joinstudy 스터디 가입
/study GET / 전체 스터디 가져오기
GET /detail/:id 스터디 정보 가져오기
POST /like 스터디 좋아요 등록
POST /create_study 스터디 생성
POST /detail/:id/close 스터디원 모집 종료
POST /detail/:id/open 스터디원 모집 시작
POST /modify/:id 스터디 정보 수정
POST /send 문자메시지 전송
DELETE /delete/:id 스터디 삭제
DELETE /leave/:id 스터디 탈퇴
PUT /update/:id 스터디 멤버 변경
/allUser GET /:id 랜덤 유저 가져오기
/board GET /get/:id 게시물 가져오기
POST /add/:id 게시물 작성
POST /delete/:id 게시물 삭제
POST /modify/:id 게시물 수정
POST /add/comment/:id 댓글 작성
POST /delete/comment/:id 댓글 삭제
POST /modify/comment/:id 댓글 수정
/chat GET /get/:id 채팅 로그 가져오기
POST /push/:id 채팅 추가하기
/invite GET /get/:id 가입 요청 가져오기
POST /add/:id 가입 요청 추가
POST /remove/:id 가입 요청 삭제

🗂 폴더 구조

Front-end

📁 /node_modules
📂 /public
 ┗ 📂 /images
📂 /src
 ┣ 📂 /apis
 ┣ 📂 /components
 ┃ ┣ 📂 /Chat
 ┃ ┣ 📂 /IndividualMyCity
 ┃ ┣ 📂 /Main
 ┃ ┣ 📂 /MyCity
 ┃ ┣ 📂 /recruitBoard
 ┃ ┣ 📂 /StudyDetail
 ┃ ┃ ┣ 📂 /StudyStatusTab
 ┣ 📂 /pages
 ┣ 📂 /store
 ┣ 📂 /style
 ┣ 📂 /utils
 ┣ 📜 App.js
 ┣ 📜 index.css
 ┣ 📜 index.js
 ┣ 📜 GithubRedirectHandler.js
 ┗ 📜 KakaoRedirectHandler.js
  📜 .env
  📜 .gitignore
  📜 .prettierrc
  📜 .pakage.json
  📜 README.md

Back-end

📂 /.vscode
 ┗ 📜 settings.json
📁 /node_modules
📂 /controllers
 ┣ 📜 boardController.js
 ┣ 📜 chatController.js
 ┣ 📜 inviteController.js
 ┣ 📜 loginController.js
 ┣ 📜 mainController.js
 ┣ 📜 mongoConnect.js
 ┣ 📜 studyController.js
 ┗ 📜 userController.js
📂 /routes
 ┣ 📜 board.js
 ┣ 📜 chat.js
 ┣ 📜 invite.js
 ┣ 📜 main.js
 ┣ 📜 study.js
 ┗ 📜 user.js
  📜 server.js
  📜 .env
  📜 .eslintrc.js
  📜 .prettierrc
  📜 package.json

🙏 Commit & Branch Convention

태그이름 설명
Feat 새로운 기능을 추가할 경우
Fix 버그를 고친 경우
Design CSS 등 사용자 UI 디자인 변경
Refactor 프로덕션 코드 리팩토링
Rename 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
Remove 파일을 삭제하는 작업만 수행하는 경우
Chore 프로젝트 초기설정 및 빌드 관련 부분