경북대학교 학생들이 이어살기를 구할 수 있는 플랫폼입니다. '이어살기'란 한 사람이 특정 사유로 임대한 공간의 계약 기간을 다 채울 수 없을 때, 임대인의 명시적 허락 하에 다른 사람에게 해당 계약을 이전하는 것으로 정의합니다.
현재, 경북대학교 주변에서 이어살기를 원하는 학생들은 주로 '에브리타임'이라는 대학 커뮤니티의 이어살기 게시판을 활용하고 있습니다. 그러나 기존 이어살기 게시판은 다음과 같은 문제점을 가지고 있습니다.
- 정보 산재: 에브리타임 이어살기 게시판에는 이어살기 게시글 외에도 수많은 게시글이 섞여 있어, 원하는 정보를 찾기 어렵습니다. 이로 인해 학생들이 필요한 정보를 빠르게 얻기 어렵습니다.
- 게시글 형식의 다양성: '에브리타임' 게시판에서는 게시글 작성 형식에 제한이 없어서 정보를 효과적으로 필터링하기 어렵습니다. 게시글의 제목과 내용, 형식이 제각각이며, 이로 인해 이어살기 관련 정보 검색이 어렵습니다.
- 비효율적인 소통방식: '에브리타임'에서 학생들은 댓글을 남기거나 쪽지를 주고 받음으로써 소통할 수 있는데, 댓글로는 개인정보를 이야기하기 어렵고, 쪽지는 실시간 대화가 불가능하다는 단점이 있습니다.
우리 서비스는 이러한 문제를 해결하고 학생들에게 더 효율적인 이어살기 플랫폼을 제공합니다. 학생들은 서비스를 통해 쉽고 빠르게 정보를 얻을 수 있으며, 일관된 형식으로 정보를 검색하고 공유할 수 있습니다.
이어살기를 원하는 경북대학교 학생 및 이어살기를 제공하려는 학생, 임대인을 대상으로 합니다.
링크
- 신뢰성 있는 이어살기 정보 제공: 사용자들은 신원 확인, 평가 및 리뷰 시스템 등을 통해 안전하고 신뢰성 있는 이어살기 정보를 얻을 수 있습니다. 이로 인해 학생들은 더 쉽게 원하는 이어살기 옵션을 찾을 수 있으며, 사기나 가짜 정보에 노출될 위험을 줄일 수 있습니다.
- 편리한 거래 과정: 우리의 플랫폼은 편리한 채팅 시스템과 정보 검색 기능을 제공하여 사용자들이 효율적으로 거래를 진행할 수 있습니다. 이로써 사용자들은 불필요한 시간과 에너지를 절약하고, 이어살기를 빠르게 진행할 수 있습니다.
- 지역 확장: 초기에는 경북대학교를 중심으로 서비스를 시작하겠지만, 플랫폼이 안정되고 성공적으로 운영될 경우 다른 대학교나 학교 주변 지역으로 확장할 수 있습니다. 다양한 지역에서 이어살기 정보를 제공하면 더 많은 학생들이 플랫폼을 활용할 수 있을 것입니다.
- 추가 서비스 및 기능 도입: 이어살기 정보 제공 이외에도 주거와 관련된 다른 서비스를 제공하여 플랫폼을 확장할 수 있습니다. 예를 들어, 학생들을 위한 가구 대여, 청소 서비스, 이사 서비스 등을 추가로 제공하여 플랫폼을 더욱 풍부하게 만들 수 있습니다.
💡 변지섭 (Jiseob-Byeon) : [email protected]
💡 이지수 (jisu74) : [email protected]
💡 노유수 (noFlowWater) : [email protected]
VSCode 터미널을 열고, 다음 명령어를 입력하여 프로젝트를 로컬 시스템에 클론합니다.
git clone -b dev https://github.com/noFlowWater/KNUCON.git
백엔드 서버가 oracle DBMS와 통신하기 위해 파이썬 oracledb 라이브러리를 사용합니다. oracledb 라이브러리 사용을 위해서 oracle instantclient가 필요합니다.
https://www.oracle.com/kr/database/technologies/instant-client/downloads.html
Windows 버전(64bit, 32bit)에 맞는 클라이언트를 설치합니다.
https://www.oracle.com/kr/database/technologies/instant-client/downloads.html
mac x86 버전(dmg)을 다운로드합니다. oracle에서는 공식적으로 애플 실리콘 버전 instantclient를 제공하지 않습니다. 위의 instant-client를 설치하여 사용하면 경고 메시지가 나오지만 oracledb 라이브러리 사용에 문제는 없었습니다. 이후 애플 실리콘 버전의 instantclient가 나온다면, 해당 클라이언트를 설치하여 사용하는 것을 권장합니다.
다운로드 된 dmg 파일을 더블클릭해 마운트합니다.
위 사진처럼 나온다면 정상적으로 마운트 된 것입니다.
마운트 후 터미널에서
cd /Volumes/instantclient-basic-macos.x64-19.8.0.0.0dbru
로 마운트된 경로로 이동하여
./install_ic.sh
를 실행합니다.
install_ic.sh 파일은 마운트된 폴더 내의 파일을 Downloads로 복사합니다. Downloads 폴더 아래 instantclient-basic-macos.x64-19.8.0.0.0dbru 폴더가 잘 생성되었다면 eject 합니다.
cd /opt/oracle
로 기존에 /opt/oracle 폴더가 존재하는지 확인합니다.
폴더가 없다면,
sudo mkdir /opt/oracle
을 통해 oracle 폴더를 생성합니다.
이후
mv $HOME/Downloads/instantclient-basic-macos.x64-19.8.0.0.0dbru /opt/oracle/instantclient-basic-macos.x64-19.8.0.0.0dbru
를 통해 instantclient 폴더를 이동합니다.
oracle instantclient에서 sql 파일을 실행합니다.
START /path/to/file/Dacsternary_Tables_Init.sql START /path/to/file/Dacsternary_Insert.sql
필요한 패키지 정보는 BE/ 폴더 내 requirements.txt 파일에 저장되어 있습니다.
pip install requirements.txt
로 필요한 패키지를 설치합니다.
pip 대신 pip3를 사용한다면
pip3 install requirements.txt
로 패키지를 설치합니다.
필요한 패키지 정보는 FE/ 폴더 내 packages.json 파일에 저장되어 있습니다.
npm install
또는
npm i
로 패키지를 설치합니다.
FE/ 폴더에서
npm run dev
로 서버를 실행합니다.
https://localhost:5173 으로 프론트엔드 서버가 실행됩니다.
프론트엔드 서버 IP 주소를 변경하려면 FE/packages.json 파일의
"dev": "vite --host {IP 주소} --port 포트번호",
부분을 수정하면 됩니다.
프론트엔드 서버 주소 수정 후에는 BE/main.py의 origins 리스트에 변경한 IP를 추가해야합니다.
origins=[
... ,
"{변경한 IP 주소}",
]
BE/ 폴더에서
uvicorn main:app --reload
를 실행합니다.
https://localhost:5173 으로 백엔드 서버가 실행됩니다.
프론트엔드 서버 IP 주소를 변경하려면 --reload 뒤에
--host {IP 주소} --port {포트 번호}
를 추가합니다.
백엔드 서버 주소 수정 후에는 FE/src/lib/request.js의 _url 주소를 변경해야합니다.
let _url = '{변경된 주소}' + url;