I-OSS는 인하대학교 IT 인프라팀과 협업하여 개발된 웹 기반 오픈소스 소프트웨어(SW) 공유 플랫폼입니다.
이 플랫폼은 인하대학교 학생, 교수진, 기업체 및 전문가 간의 협업을 촉진하고, 오픈소스 SW 생태계 성장을 지원하기 위해 설계되었습니다.
Local 혹은 GitHub과 연동하여 프로젝트를 관리하고, 멘토링, 특허·저작권 관리, 통계 시각화 등 다양한 기능을 제공합니다.
이를 통해 인하대학교의 오픈소스 SW의 활용 능력과 협업 역량을 강화하는 것을 목표로 합니다.
- 'I-OSS' 게스트 계정 정보
아이디 | test@gmail.com |
---|---|
비밀번호 | password2@ |
서비스를 구경하고 싶으시다면 상단의 계정 정보로 로그인 후 사용하실 수 있습니다.
새 창 열기 방법 : CTRL+click (on Windows and Linux) | CMD+click (on MacOS)
HTML5 | CSS3 | JavaScript | React |
Java | Spring Boot | PostgreSQL | Redis |
Postman | Swagger | Nginx |
카테고리 | 기능 |
---|---|
프로젝트 관리 | 로컬 및 GitHub 연동을 통한 프로젝트 업로드, 공지사항 게시, 댓글 및 좋아요 기능 제공합니다. |
멘토링 및 커뮤니케이션 | 질문 게시판(멘토링) 및 버그 제보, 유저 신고 기능을 통해 사용자 간 소통 및 문제 해결 지원합니다. |
관리자 기능 | 교수/기업 가입 승인, 관리자/조교 승격, 유저 차단 등 플랫폼 관리 기능 제공합니다. |
데이터 검색 및 분석 | 프로젝트, 질문 게시물 등의 검색 기능 제공 및 통계 시각화, 데이터 엑셀 추출 지원합니다. |
아키텍처(Architecture) |
---|
개체-관계 모델(ERD) |
---|
🔗 동시성 문제 해결기: 좋아요 기능에서 경험한 Redis와 비관적 락 👈
🔗 통계 최적화 여정: 실시간 쿼리에서 통합 통계 테이블로의 전환 👈
(추가 예정)
박지원 (Front-end) |
황규혁 (Back-end) |
24.08.12. ~ 운영 관리 중
- 원격 저장소 복제
$ git clone https://github.com/inha-iesw/inhagit-server
- 프로젝터 폴더 > src > main > resources 이동
$ cd src
$ cd main
$ cd resources
- 프로젝트 실행을 위한 yml 파일 작성
- 프로젝트 첫 빌드시
jpa:hibernate:ddl-auto:create
로 작성 - 이후에는
jpa:hibernate:ddl-auto:none
으로 변경 - 프로필 local로 설정
spring:
config:
activate:
on-profile: local
application:
name: inhagit
datasource:
url: [DB설정]
username: [DB사용자명]
password: [DB비밀번호]
driver-class-name: org.postgresql.Driver
jpa:
hibernate:
ddl-auto: none
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
generate-ddl: false
show-sql: false
properties:
hibernate:
format_sql: true
default_batch_fetch_size: 1000
servlet:
multipart:
enabled: true
max-file-size: 300MB
max-request-size: 300MB
data:
redis:
host: [호스트]
port: [포트]
mail:
host: [호스트]
port: [포트]
username: [이메일계정]
password: [이메일패스워드]
properties:
mail:
smtp:
starttls:
enable: true
auth: true
jwt:
issuer: [이슈자]
secret_key: [시크릿키]
expiration: [엑세스토큰 만료시간]
refresh-token:
expiration: [리프레시토큰 만료시간]
cloud:
aws:
s3:
bucket: [버킷 이름]
stack:
auto: false
region:
static: [리전 이름]
credentials:
instance-profile: true
access-key: [엑세스키]
secret-key: [시크릿키]
logging:
pattern:
dateformat: yyyy-MM-dd HH:mm:ss.SSSz,Asia/Seoul
kipris:
access-key: [엑세스키]
inventor-url: http://plus.kipris.or.kr/openapi/rest/patUtiModInfoSearchSevice/patentInventorInfo
applicant-url: http://plus.kipris.or.kr/openapi/rest/patUtiModInfoSearchSevice/patentApplicantInfo
basic-info-url: http://plus.kipris.or.kr/kipo-api/kipi/patUtiModInfoSearchSevice/getBibliographySumryInfoSearch
user:
basedir: [베이스경로]
file: [파일경로]
management:
endpoints:
web:
exposure:
include: prometheus
endpoint:
prometheus:
enabled: true
server:
tomcat:
mbeanregistry:
enabled: true
-
프로젝트 폴더 루트 경로로 이동
-
프로젝트 빌드
$ ./gradlew clean build -x test
- 빌드 폴더 이동 후 jar 파일 실행
$ cd build/libs
$ java -jar [파일명].jar