저희는 공간을 함께 공유하며 사용할 사람들을 연결해주는 플랫폼을 제공하는 것을 목표로 합니다.
도시 내 주거비의 상승, 전셋값의 증가 등 다양한 이유로 젊은 세대가 경제적 어려움을 겪고 있습니다. 저희의 핵심 목적은 공유 경제를 통해 이러한 문제를 해결하는 것입니다. 즉, 젊은 세대가 주거 비용을 분담하고 남는 공간을 효율적으로 사용함으로써 경제적 부담을 줄일 수 있도록 돕고자 합니다.
이를 위해, 사용자 각자의 생활 방식에 맞는 룸메이트 또는 하우스메이트를 찾을 수 있도록 지원하며, 공간을 공유하고자 하는 이들을 연결하여 비용 부담 문제를 해결하려고 합니다.
We aim to provide a platform that connects people who want to share their space, helping to alleviate the financial burden associated with housing costs.
With the rise in urban living costs and increased rent prices, the younger generation is facing economic difficulties. Our core purpose is to solve these problems through the sharing economy. In other words, we want to help the younger generation share housing costs and efficiently use available space to reduce their economic burden.
To this end, we support finding roommates or housemates that match each user's lifestyle, connecting those who wish to share their space to solve the issue of financial burden.
- 메이트 찾기
- 게시글을 통한 모집 기능과 추천 시스템을 통한 메이트 매칭 기능을 제공합니다.
- 유저 인증 / 인가 기능
- 유저 간 신뢰 구축을 위해, 공인된 서비스(카카오, 네이버)를 이용한 로그인과 신분증 인증같은 유저 신원 확보 기능을 마련합니다.
- 대학교 인증
- 대학생 사용자에게는 대학교 인증을 통해 기숙사 룸메이트 찾기와 같은 추가 기능을 제공합니다.
- 회원(프로필) 기능
- 사용자가 자신의 특성을 상세하고 쉽게 기술할 수 있도록 유도하여, 보다 정확한 추천을 받을 수 있게 합니다.
- 채팅 기능
- 사용자 간의 원활한 소통을 위해, 서비스 내에 채팅 기능을 제공합니다.
프로젝트 내 각 파트의 아키텍처 구조와 시스템 구성도입니다.
02.-.mp4
최정민 | 조희정 | 이준호 | 정연수 |
---|---|---|---|
@cjeongmin |
@he2e2 |
@leejh7 |
@cheesecrust |
****1679 | ****3147 | ****1675 | ****1665 |
Front-end | Front-end | Back-end | Back-end |
-
Prerequisite
- node.js
- npm or yarn
- yarn
- PostgreSQL
- Redis
- MongoDB
- AWS S3 Bucket (IAM 사용자 생성, public 차단)
- python3
- pip3
-
공통 매뉴얼
git clone https://github.com/kookmin-sw/capstone-2024-02/
-
Front-end
cd front-end yarn yarn dev or npm install npm run dev
-
Back-end
cd back-end ./gradlew clean build -x test java -jar build/libs/*.jar
-
Rec-sys
cd rec-sys pip install -r requirement.txt uvicorn main:app —reload
-
환경 설정
- Front-end
- 환경 변수 파일을 설정합니다.
// .env.local NEXT_PUBLIC_API_URL={SERVER API LOCATION} NEXT_PUBLIC_CLIENT_URL=http://localhost:3000 NEXT_PUBLIC_NAVER_MAP_CLIENT_ID={Naver MAP API Client ID} NEXT_PUBLIC_NAVER_MAP_CLIENT_SECRET={Naver MAP API SECRET VALUE}
- 환경 변수 파일을 설정합니다.
- Back-end
- application-cloud.yaml 파일 설정 (이 때, aws iam 사용자에 s3 접근 role 을 부여해야 합니다.)
cloud: aws: s3: bucket: {S3 bucket name} credentials: access-key: {AWS IAM access-key} secret-key: {AWS IAM secret-key} region: static: ap-northeast-2 stack: auto: false
- application-datasource.yml 파일 설정 (먼저, 추천 시스템을 배포해야합니다.)
external-server: url: {추천 시스템 배포 url} spring: datasource: url: jdbc:postgresql://{db_host}:{db_port}/{db_name} username: {db_username} password: {db_password} driver-class-name: org.postgresql.Driver data: redis: host: localhost port: 6379 mongodb: host: {db_host} port: 27017 authentication-database: maru username: {db_username} password: {db_password} database: {db_name} auto-index-creation: true
- application-oauth.yml 파일 설정
spring: security: oauth2: client: registration: kakao: client-id: {social_client_id} client-secret: {social_client_secret} authorization-grant-type: authorization_code redirect-uri: {callback_uri} client-authentication-method: client_secret_post naver: client-id: {social_client_id} client-secret: {social_client_secret} authorization-grant-type: authorization_code redirect-uri: {callback_uri} provider: kakao: authorization-uri: https://kauth.kakao.com/oauth/authorize token-uri: https://kauth.kakao.com/oauth/token user-info-uri: https://kapi.kakao.com/v2/user/me user-name-attribute: id naver: authorization-uri: https://nid.naver.com/oauth2.0/authorize token-uri: https://nid.naver.com/oauth2.0/token user-info-uri: https://openapi.naver.com/v1/nid/me user-name-attribute: response
- application-cloud.yaml 파일 설정 (이 때, aws iam 사용자에 s3 접근 role 을 부여해야 합니다.)
- Rec-sys
DB_NAME={db_name} DB_USER={db_username} # 데이터베이스 사용자 이름 DB_HOST={db_host} DB_PORT=5432 # 기본 포트는 5432 DB_PASSWORD={db_password}
- Front-end