- Frontend: JavaScript, HTML5, CSS, React, React Native, Expo, Redux
- Backend: Spring Boot, Spring Data JPA, Spring Security, JWT, MySQL
- Tools: Git Hub, Notion, Postman, Figma
- Infra: Amazon EC2, RDS, NGINX
인하대학교 분실물 통합 관리 플랫폼입니다. 교내 분실물을 최소화하고 학생들의 학교 생활의 질을 향상시켜주고자 합니다.
LOST INHA는 캠퍼스 내 분실물/습득물을 빠르고 체계적으로 관리할 수 있는 통합 플랫폼입니다. 기존의 아날로그 중심 분실물 관리 방식을 개선하여, 학생과 관리자 모두가 효율적으로 정보를 공유하고 확인할 수 있도록 설계되었습니다.
- 관리자 (웹): 분실물/습득물 조회 및 일괄 수정, 수령자 정보 등록, 물품 카테고리 등록 및 수정 가능
- 학생 (앱): 분실물/습득물 등록, 카테고리별/분실 위치별/상태별 검색 가능
이 플랫폼을 통해 관리자는 분실물 관리 업무의 효율성을 높이고, 학생은 언제 어디서나 간편하게 물품을 등록하고 조회할 수 있는 편리한 사용자 경험을 제공합니다.
- JWT 기반 인증 로그인
- 편리한 분실/습득 게시물 등록
- 분실 신고 해두면 사용자 맞춤 알림 전송
- 게시판의 편리한 분실물 필터링
+---public
| +---fonts
| \---images
\---src
+---api
+---assets
+---components
+---fonts
+---pages
| +---itemCategory
| +---login
| +---main
| +---post
| \---receiverRegist
+---styles
\---utils
MOBILE
├── .expo
│ └── web
├── .vscode
├── android
├── api
│ ├── api.js
│ ├── auth.js
│ ├── category.js
│ ├── location.js
│ ├── post.js
│ └── receiver.js
├── assets
├── components
│ ├── BottomBar.js
│ ├── CategoryList.js
│ ├── DefaultHeader.js
│ ├── LocationMap.js
│ ├── LocationViewBox.js
│ ├── MyPostListItem.js
│ ├── Notification.js
│ ├── PostListItem.js
│ ├── PostTypeSelector.js
│ ├── SearchHeader.js
│ ├── SelectCate.js
│ └── StatusLabel.js
├── hooks
│ └── useAuth.js
├── node_modules
├── Redux
│ ├── slices
│ │ ├── categorySlice.js
│ │ ├── keywordSlice.js
│ │ ├── locationSlice.js
│ │ └── mySlice.js
│ └── store.js
├── screens
│ ├── AddLostPostScreen.js
│ ├── AddPostScreen.js
│ ├── EditPostScreen.js
│ ├── Login.js
│ ├── MainScreen.js
│ ├── MyPostListScreen.js
│ ├── NotificationListScreen.js
│ ├── PostListScreen.js
│ ├── PostScreen.js
│ └── UserScreen.js
├── utils
│ ├── DateFormat.js
│ └── imageSource.ts
├── .gitignore
├── App.js
├── app.json
├── babel.config.js
├── package-lock.json
├── package.json
├── setupProxy.js
├── tokenStorage.js
└── TokenStore.js
+---domain
| +---category
| | +---api
| | +---dto
| | | +---request
| | | \---response
| | +---model
| | +---repository
| | \---service
| +---comment
| | +---api
| | +---dto
| | | +---request
| | | \---response
| | +---model
| | +---repository
| | \---service
| +---location
| | +---api
| | +---dto
| | | +---request
| | | \---response
| | +---model
| | +---repository
| | \---service
| +---member
| | +---model
| | \---repository
| +---notification
| | +---api
| | +---dto
| | | +---request
| | | \---response
| | +---model
| | +---repository
| | \---service
| +---post
| | +---api
| | +---dto
| | | +---request
| | | \---response
| | +---model
| | +---repository
| | \---service
| \---receiver
| +---api
| +---dto
| | +---request
| | \---response
| +---model
| +---repository
| \---service
\---global
+---auth
| +---token
| | +---api
| | +---dto
| | | +---request
| | | \---response
| | +---exception
| | +---filter
| | \---service
| \---user
+---config
| +---auth
| +---firebase
| \---web
+---firebase
| +---api
| +---dto
| | \---request
| +---model
| +---repository
| \---service
\---mail
+---api
\---service
-
Spring boot: 3.x
-
Java: JDK 21
-
Mysql: 8.xx
-
React: 19.x.x
-
React Native: 0.81.x
-
expo: 54.x.x
-
웹
1️. 프로젝트 클론
git clone https://github.com/INHA-404-Not-Found/ADMIN.git
2️. 의존성 설치
npm install
3️. expo 실행
npm start
-
앱
1️. 프로젝트 클론
git clone https://github.com/INHA-404-Not-Found/FE.git
2️. 의존성 설치
npm install
3️. expo 실행
npm start
1️. 프로젝트 클론
git clone https://github.com/INHA-404-Not-Found/BE.git
2️. 의존성 설치
./gradlew build
3️. 환경 변수 설정
-- resources/application.properties DB, 환경변수 등 설정 --
spring.application.name=next_campus
# DB 관련
spring.datasource.url=${YOUR_DB_URL}
spring.datasource.username=${YOUR_DB_USERNAME}
spring.datasource.password=${YOUR_DB_PASSWORD}
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
# JWT 인증 관련
jwt.secret=${YOUR_JWT_SECRET}
jwt.access-token-expiration-ms=${YOUR_JWT_ACCESS_EXPIRATION}
jwt.refresh-token-expiration-ms=${YOUR_JWT_REFRESH_EXPIRATION}
# 이메일 알림 관련
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=${YOUR_MAIL_USERNAME}
spring.mail.password=${YOUR_MAIL_PASSWORD}
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
# DB 테이블 정보 가져오기
spring.jpa.hibernate.ddl-auto=update
server.port=8080
server.ssl.enabled=false
4️. 실행
./gradlew bootRun
| Frontend | Frontend | Backend | Backend |
|---|---|---|---|
| 김도담 | 안유민 | 권도연 | 최지윤(팀장) |




