{"id":22647005,"url":"https://github.com/damingerdai/hoteler","last_synced_at":"2025-04-12T02:12:29.305Z","repository":{"id":36986389,"uuid":"231098459","full_name":"damingerdai/hoteler","owner":"damingerdai","description":"A simple entry-level hotel management system","archived":false,"fork":false,"pushed_at":"2025-04-10T14:19:07.000Z","size":2514,"stargazers_count":5,"open_issues_count":21,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T02:12:22.215Z","etag":null,"topics":["angular","docker","java","k8s","spring","spring-boot"],"latest_commit_sha":null,"homepage":"https://hoteler.damingerdai.com/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/damingerdai.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.json","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-31T14:00:58.000Z","updated_at":"2025-04-10T14:17:39.000Z","dependencies_parsed_at":"2023-10-15T00:07:25.523Z","dependency_job_id":"d0d41440-599b-42ec-b176-8149f4137063","html_url":"https://github.com/damingerdai/hoteler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damingerdai%2Fhoteler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damingerdai%2Fhoteler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damingerdai%2Fhoteler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damingerdai%2Fhoteler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damingerdai","download_url":"https://codeload.github.com/damingerdai/hoteler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505926,"owners_count":21115354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","docker","java","k8s","spring","spring-boot"],"created_at":"2024-12-09T07:32:09.748Z","updated_at":"2025-04-12T02:12:29.283Z","avatar_url":"https://github.com/damingerdai.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hoteler\n一个简单的入门酒店管理系统\n\n## 架构图\n\n![architecture](./docs/hoteler-architecture.png)\n\n## 系统功能：\n1. 登录验证\n2. 房态统计显示\n3. 预定登记并入库\n4. 入住登记并入库\n5. 换房登记并入库\n6. 客人信息查询\n7. 退房并入库\n\n## 初始化\n\n### 克隆仓库\n\n```shell script\ngit clone git@github.com:damingerdai/hoteler.git --recurse-submodules --remote-submodules\n```\n\n### Docker环境\n\n1. 创建数据卷\n\n```shell script\ndocker volume create --name=hoteler-volume\ndocker volume create --name=hoteler-redis-volume\n```\n2. 创建网桥\n\n```shell script\ndocker network create hoteler-network\n```\n3. 启动数据库\n\n```shell script\ndocker compose up db redis\n# db uses on image, skipping\n# docker-compose up --force-recreate db\n```\n\n### 数据库迁移\n\n基于flyway的maven插件\n```shell script\nmvn flyway:migrate\n```\n\n基于flyway的gradle插件\n```shell script\ngradle flywayMigrate\n```\n\n基于golang\n在migration目录中添加`.env`文件，并写入以下内容：\n```shell\nPOSTGRES_HOST=localhost\nPOSTGRES_PORT=5432\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=123456\nPOSTGRES_DB=postgres\n```\n\n然后执行migrate命令\n```shell script\ncd migration \u0026\u0026 go build -o migrate migration.go \u0026\u0026 ./migrate up\n```\n\n### 构建\n\n```shell script\nsh scripts/build.sh\n```\n\n## 使用\n\n### 浏览器\n\n请访问：[http://localhost:8443](http://localhost:8080)\n\n默认的账号密码： admin/12345\n\n![登录](https://raw.githubusercontent.com/damingerdai/hoteler-web/master/screenshots/login.png)\n![仪表盘](https://raw.githubusercontent.com/damingerdai/hoteler-web/master/screenshots/dashboard.png)\n![暗黑模式](https://raw.githubusercontent.com/damingerdai/hoteler-web/master/screenshots/dark-mode.png)\n\n### swagger-ui\n\n后端支持OpenApi, 请访问: [http://localhost:8443/swagger-ui/index.html?url=/v3/api-docs](http://localhost:8443/swagger-ui/index.html?url=/v3/api-docsl)\n\n### graphql\n\ngraphql接口尚未完成\n[http://localhost:8443/graphiql?path=/graphql](http://localhost:8443/graphiql?path=/graphql)\n\n## K8S\n\n构建数据库\n```\nkubectl delete namespaces hoteler-namespace\nkubectl delete persistentvolumeclaim --all -n hoteler-namespace\nkubectl delete persistentvolume --all -n hoteler-namespace\nkubectl apply -f db.yaml\nkubectl apply -f app.yaml\nkubectl port-forward --namespace hoteler-namespace service/postgres 5432:5432 --insecure-skip-tls-verify\nkubectl port-forward --namespace hoteler-namespace service/hoteler-web 4200:80 --insecure-skip-tls-verify\n```\n\n\n# 鸣谢\n\n[![JetBrains Logo (Main) logo](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)](https://jb.gg/OpenSourceSupport)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamingerdai%2Fhoteler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamingerdai%2Fhoteler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamingerdai%2Fhoteler/lists"}