Skip to content

simple-is-great/KNUCON

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

경북대 이어살기 커뮤니티 [KNU - CON]

1. 서비스 소개

2. 서비스 플로우

3. 데모 영상

4. 기대 효과 & 확장 가능성

5. Team INFO

서비스 소개

경북대학교 학생들이 이어살기를 구할 수 있는 플랫폼입니다. '이어살기'란 한 사람이 특정 사유로 임대한 공간의 계약 기간을 다 채울 수 없을 때, 임대인의 명시적 허락 하에 다른 사람에게 해당 계약을 이전하는 것으로 정의합니다.

✨ 서비스 배경 및 서비스 목적

현재, 경북대학교 주변에서 이어살기를 원하는 학생들은 주로 '에브리타임'이라는 대학 커뮤니티의 이어살기 게시판을 활용하고 있습니다. 그러나 기존 이어살기 게시판은 다음과 같은 문제점을 가지고 있습니다.

  1. 정보 산재: 에브리타임 이어살기 게시판에는 이어살기 게시글 외에도 수많은 게시글이 섞여 있어, 원하는 정보를 찾기 어렵습니다. 이로 인해 학생들이 필요한 정보를 빠르게 얻기 어렵습니다.
  2. 게시글 형식의 다양성: '에브리타임' 게시판에서는 게시글 작성 형식에 제한이 없어서 정보를 효과적으로 필터링하기 어렵습니다. 게시글의 제목과 내용, 형식이 제각각이며, 이로 인해 이어살기 관련 정보 검색이 어렵습니다.
  3. 비효율적인 소통방식: '에브리타임'에서 학생들은 댓글을 남기거나 쪽지를 주고 받음으로써 소통할 수 있는데, 댓글로는 개인정보를 이야기하기 어렵고, 쪽지는 실시간 대화가 불가능하다는 단점이 있습니다.

우리 서비스는 이러한 문제를 해결하고 학생들에게 더 효율적인 이어살기 플랫폼을 제공합니다. 학생들은 서비스를 통해 쉽고 빠르게 정보를 얻을 수 있으며, 일관된 형식으로 정보를 검색하고 공유할 수 있습니다.

🎯 서비스 대상

이어살기를 원하는 경북대학교 학생 및 이어살기를 제공하려는 학생, 임대인을 대상으로 합니다.

서비스 플로우

1. 회원가입/로그인

2. 방 등록 및 방 게시글 올리기

3. 게시글 조회,검색 및 사용자 찜 목록 기반 게시글 추천

4. 채팅방을 이용한 사용자의 이어살기 연결

5. 나의 정보 조회

데모 영상

링크

사용된 스택

Cooperation : Static Badge

Design : Static Badge

Front-end : Static Badge

Back-end : Static Badge Static Badge

기대 효과

  1. 신뢰성 있는 이어살기 정보 제공: 사용자들은 신원 확인, 평가 및 리뷰 시스템 등을 통해 안전하고 신뢰성 있는 이어살기 정보를 얻을 수 있습니다. 이로 인해 학생들은 더 쉽게 원하는 이어살기 옵션을 찾을 수 있으며, 사기나 가짜 정보에 노출될 위험을 줄일 수 있습니다.
  2. 편리한 거래 과정: 우리의 플랫폼은 편리한 채팅 시스템과 정보 검색 기능을 제공하여 사용자들이 효율적으로 거래를 진행할 수 있습니다. 이로써 사용자들은 불필요한 시간과 에너지를 절약하고, 이어살기를 빠르게 진행할 수 있습니다.

확장 가능성

  1. 지역 확장: 초기에는 경북대학교를 중심으로 서비스를 시작하겠지만, 플랫폼이 안정되고 성공적으로 운영될 경우 다른 대학교나 학교 주변 지역으로 확장할 수 있습니다. 다양한 지역에서 이어살기 정보를 제공하면 더 많은 학생들이 플랫폼을 활용할 수 있을 것입니다.
  2. 추가 서비스 및 기능 도입: 이어살기 정보 제공 이외에도 주거와 관련된 다른 서비스를 제공하여 플랫폼을 확장할 수 있습니다. 예를 들어, 학생들을 위한 가구 대여, 청소 서비스, 이사 서비스 등을 추가로 제공하여 플랫폼을 더욱 풍부하게 만들 수 있습니다.

Team INFO

💡 변지섭 (Jiseob-Byeon) : [email protected]

💡 이지수 (jisu74) : [email protected]

💡 노유수 (noFlowWater) : [email protected]

개발 환경

윈도우:

맥:

초기 설정 및 실행 가이드

1. 깃 클론

VSCode 터미널을 열고, 다음 명령어를 입력하여 프로젝트를 로컬 시스템에 클론합니다.

git clone -b dev https://github.com/noFlowWater/KNUCON.git

2. oracle instantclient 설치

백엔드 서버가 oracle DBMS와 통신하기 위해 파이썬 oracledb 라이브러리를 사용합니다. oracledb 라이브러리 사용을 위해서 oracle instantclient가 필요합니다.

(1) 윈도우

https://www.oracle.com/kr/database/technologies/instant-client/downloads.html

Windows 버전(64bit, 32bit)에 맞는 클라이언트를 설치합니다.

(2) 맥 (인텔 맥, 애플 실리콘 맥 동일)

https://www.oracle.com/kr/database/technologies/instant-client/downloads.html

mac x86 버전(dmg)을 다운로드합니다. oracle에서는 공식적으로 애플 실리콘 버전 instantclient를 제공하지 않습니다. 위의 instant-client를 설치하여 사용하면 경고 메시지가 나오지만 oracledb 라이브러리 사용에 문제는 없었습니다. 이후 애플 실리콘 버전의 instantclient가 나온다면, 해당 클라이언트를 설치하여 사용하는 것을 권장합니다.

다운로드 된 dmg 파일을 더블클릭해 마운트합니다.

image

위 사진처럼 나온다면 정상적으로 마운트 된 것입니다.

마운트 후 터미널에서

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

3. 필요 패키지 다운로드

(1) 백엔드

필요한 패키지 정보는 BE/ 폴더 내 requirements.txt 파일에 저장되어 있습니다.

pip install requirements.txt

로 필요한 패키지를 설치합니다.

pip 대신 pip3를 사용한다면

pip3 install requirements.txt

로 패키지를 설치합니다.

(2) 프론트엔드

필요한 패키지 정보는 FE/ 폴더 내 packages.json 파일에 저장되어 있습니다.

npm install

또는

npm i

로 패키지를 설치합니다.

4. 서비스 실행

(1) 프론트엔드

FE/ 폴더에서

npm run dev

로 서버를 실행합니다.

https://localhost:5173 으로 프론트엔드 서버가 실행됩니다.

프론트엔드 서버 IP 주소를 변경하려면 FE/packages.json 파일의

"dev": "vite --host {IP 주소} --port 포트번호",

부분을 수정하면 됩니다.

프론트엔드 서버 주소 수정 후에는 BE/main.py의 origins 리스트에 변경한 IP를 추가해야합니다.

origins=[
        ... ,
        "{변경한 IP 주소}",
        ]  

(2) 백엔드

BE/ 폴더에서

uvicorn main:app --reload

를 실행합니다.

https://localhost:5173 으로 백엔드 서버가 실행됩니다.

프론트엔드 서버 IP 주소를 변경하려면 --reload 뒤에

--host {IP 주소} --port {포트 번호} 

를 추가합니다.

백엔드 서버 주소 수정 후에는 FE/src/lib/request.js의 _url 주소를 변경해야합니다.

let _url = '{변경된 주소}' + url;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Svelte 63.3%
  • Python 34.0%
  • JavaScript 2.1%
  • Other 0.6%