Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (4.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: fredericli-gmail
- License: mit
- Language: Java
- Default Branch: main
- Size: 96.7 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
VPMS (Visitor Pass Management System)
目錄
專案簡介
VPMS (Visitor Pass Management System) 是一個基於 Spring Boot 的訪客管理系統,提供完整的訪客登記、證件發放和管理功能。本專案是基於數位憑證皮夾的發行端與驗證端沙盒系統進行開發,整合了數位憑證皮夾服務,支援數位訪客證的發放和驗證。
功能特點
- 訪客登記與管理
- 數位訪客證發放
- 訪客證驗證
- 報表生成
- 郵件通知
- 角色基礎的權限管理
- RESTful API 支援
技術棧
- 後端框架: Spring Boot 3.1.5
- 資料庫: PostgreSQL 15
- ORM: Spring Data JPA
- 資料庫遷移: Liquibase
- 安全框架: Spring Security
- 模板引擎: Thymeleaf
- API 文件: OpenAPI 3.0
- 容器化: Docker
- CI/CD: GitHub Actions
系統需求
- Java 17 或更高版本
- PostgreSQL 15 或更高版本
- Maven 3.8 或更高版本
- Docker 和 Docker Compose(可選)
安裝與設定
必要環境變數
建立 .env 檔案並設定以下環境變數:
```env
資料庫設定
SPRINGDATASOURCEURL=jdbc:postgresql://localhost:5432/vpms SPRINGDATASOURCEUSERNAME=yourusername SPRINGDATASOURCEPASSWORD=yourpassword
郵件伺服器設定
SPRINGMAILHOST=smtp.example.com SPRINGMAILUSERNAME=youremail SPRINGMAILPASSWORD=yourpassword
數位憑證皮夾設定
TWDIWAPIBASEURL=https://verifier-sandbox.wallet.gov.tw/api TWDIWAPIKEY=yourapikey TWDIWISSUERAPIBASEURL=https://issuer-sandbox.wallet.gov.tw TWDIWISSUERAPIACCESSTOKEN=youraccess_token ```
使用 Docker 部署
- 複製
.env.example到.env並設定環境變數 - 執行以下指令:
bash
docker-compose up -d
本地部署
- 確保 PostgreSQL 已安裝並運行
- 執行以下指令:
bash
mvn clean package
java -jar target/vpms-0.0.1-SNAPSHOT.jar
使用說明
系統提供以下主要功能:
訪客登記
- 訪客基本資料登記
- 訪客證發放
- 訪客證驗證
管理功能
- 使用者管理
- 角色管理
- 報表生成
API 整合
- RESTful API 支援
- 數位憑證皮夾整合
開發指南
詳細的開發指南請查看 DEVELOPMENT.md 文件。
專案結構
src/main/java/example/vpms/
├── config/ # 配置類
├── controller/ # 控制器
├── dto/ # 資料傳輸物件
├── model/ # 實體類
├── repository/ # 資料訪問層
├── service/ # 業務邏輯層
├── twdiw/ # 數位憑證皮夾整合
└── util/ # 工具類
編碼風格
本專案遵循 Google Java 程式碼風格指南。詳細的編碼風格指南請查看 CODING_STYLE.md 文件。
專案文檔
- 編碼風格指南 - 編碼風格和最佳實踐
- 開發設定指南 - 開發環境設定和工作流程
- 貢獻指南 - 如何貢獻代碼
- 行為準則 - 社區行為準則
- 專案治理 - 專案決策和管理流程
- 安全政策 - 安全漏洞報告和處理流程
- 依賴授權資訊 - 第三方依賴庫及其授權
- 變更日誌 - 版本變更記錄
授權
本專案採用 MIT 授權條款。詳見 LICENSE 檔案。
貢獻指南
我們歡迎所有形式的貢獻,包括代碼、文檔、問題報告和功能請求。請先閱讀我們的 貢獻指南 和 行為準則。
聯絡方式
如有任何問題或建議,請開立 GitHub Issue 或提交 Pull Request。
© 2024 fredericli
Owner
- Name: fredericli
- Login: fredericli-gmail
- Kind: user
- Repositories: 1
- Profile: https://github.com/fredericli-gmail
Citation (CITATION.cff)
cff-version: 1.2.0
message: "如果您使用此軟體,請引用它。"
authors:
- family-names: "Li"
given-names: "Frederic"
orcid: "https://orcid.org/0000-0000-0000-0000"
title: "VPMS - Visitor Pass Management System"
version: 1.0.0
date-released: 2024-05-01
url: "https://github.com/fredericli/vpms_twdiw"
repository-code: "https://github.com/fredericli/vpms_twdiw"
license: MIT
abstract: "VPMS 是一個基於 Spring Boot 的訪客管理系統,提供訪客登記、數位訪客證發放和驗證等功能,整合了數位憑證皮夾服務。"
keywords:
- visitor-management
- digital-credential
- spring-boot
- java
references:
- type: software
authors:
- family-names: "Pivotal"
given-names: "Software"
title: "Spring Boot"
url: "https://spring.io/projects/spring-boot"
- type: software
authors:
- family-names: "PostgreSQL"
given-names: "Global Development Group"
title: "PostgreSQL"
url: "https://www.postgresql.org/"
GitHub Events
Total
- Issue comment event: 1
- Pull request event: 1
- Create event: 1
Last Year
- Issue comment event: 1
- Pull request event: 1
- Create event: 1
Dependencies
- eclipse-temurin 17-jre build
- maven 3.8-eclipse-temurin-17 build
- postgres 14
- com.fasterxml.jackson.core:jackson-databind
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310
- io.swagger.core.v3:swagger-annotations 2.2.15
- org.apache.httpcomponents.client5:httpclient5 5.2.1
- org.liquibase:liquibase-core
- org.postgresql:postgresql
- org.springframework.boot:spring-boot-devtools
- org.springframework.boot:spring-boot-starter-data-jpa
- org.springframework.boot:spring-boot-starter-mail
- org.springframework.boot:spring-boot-starter-security
- org.springframework.boot:spring-boot-starter-thymeleaf
- org.springframework.boot:spring-boot-starter-validation
- org.springframework.boot:spring-boot-starter-web
- org.thymeleaf.extras:thymeleaf-extras-springsecurity6
- io.projectreactor:reactor-test test
- org.springframework.boot:spring-boot-starter-test test
- org.springframework.security:spring-security-test test