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
Last synced: 6 months ago · JSON representation ·

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
Created 11 months ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Security Governance

README.md

VPMS (Visitor Pass Management System)

License: MIT Java Spring Boot PostgreSQL

目錄

專案簡介

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 部署

  1. 複製 .env.example.env 並設定環境變數
  2. 執行以下指令:

bash docker-compose up -d

本地部署

  1. 確保 PostgreSQL 已安裝並運行
  2. 執行以下指令:

bash mvn clean package java -jar target/vpms-0.0.1-SNAPSHOT.jar

使用說明

系統提供以下主要功能:

  1. 訪客登記

    • 訪客基本資料登記
    • 訪客證發放
    • 訪客證驗證
  2. 管理功能

    • 使用者管理
    • 角色管理
    • 報表生成
  3. 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

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

Dockerfile docker
  • eclipse-temurin 17-jre build
  • maven 3.8-eclipse-temurin-17 build
docker-compose.yml docker
  • postgres 14
pom.xml maven
  • 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