{"id":14983026,"url":"https://github.com/remaker01/libraryseat","last_synced_at":"2025-12-25T01:37:21.012Z","repository":{"id":219701848,"uuid":"749364589","full_name":"Remaker01/LibrarySeat","owner":"Remaker01","description":"Java图书馆座位管理系统","archived":false,"fork":false,"pushed_at":"2024-05-09T07:28:48.000Z","size":1196,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-14T16:39:26.468Z","etag":null,"topics":["javaweb","spring","springmvc"],"latest_commit_sha":null,"homepage":"","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/Remaker01.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2024-01-28T11:20:24.000Z","updated_at":"2024-05-26T16:51:16.000Z","dependencies_parsed_at":"2024-04-16T07:42:59.078Z","dependency_job_id":"560ed521-32b7-444a-8bf1-aeef39fecbf5","html_url":"https://github.com/Remaker01/LibrarySeat","commit_stats":null,"previous_names":["remaker01/libraryseat"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remaker01%2FLibrarySeat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remaker01%2FLibrarySeat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remaker01%2FLibrarySeat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remaker01%2FLibrarySeat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Remaker01","download_url":"https://codeload.github.com/Remaker01/LibrarySeat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243057246,"owners_count":20229174,"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":["javaweb","spring","springmvc"],"created_at":"2024-09-24T14:06:37.321Z","updated_at":"2025-12-25T01:37:20.965Z","avatar_url":"https://github.com/Remaker01.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 图书馆座位预定系统\n采用Spring+SpringMVC的图书馆座位预定系统，灵感来源于大学学校的图书馆小程序。\n\n需求及总体设计见docx文件。\n\n1.28 目前已完成dao,service层,一部分controller层和前端页面。\n\n2.8  基本完成后端功能，前端页面部分完善中。\n\n3.21 基本完成全部功能。\n\n**4.7 重大更新：修改密码加密方式，改为加盐，需要在`users`表中新增一列`salt`。**\n**详情见下文“数据库密码存储方式”一节。**\n### 项目信息\n**环境**\n\n|   名称   |             值              |          备注          |\n|:------:|:--------------------------:|:--------------------:|\n|  操作系统  |       MS Windows 10        |                      |\n|  IDE   |    Intellij IDEA 2022.1    |   Ultimate Edition   |\n|  数据库   |         MySQL 8.0          |        InnoDB        |\n| 项目管理工具 |           Maven            |                      |\n|  运行环境  | OpenJDK 11+Apache Tomcat 9 | 未使用Java9及以上的语言特性和API |\n\n**配置方法**\n\n- 首先创建数据库 名称为library,运行根目录下ddl.sql文件创建表。表结构见docx文件。\n\u003e 数据库密码存储方式：\n\u003e ```\n\u003e pswd_md5=md5(md5(user.password)).toHexString()\n\u003e pswd_final=HmacSHA256(text=pswd_md5,key=user.salt.toString())\n\u003e //学生的默认密码为Student1，管理员的默认密码为Admin135\n\u003e ```\n运行rand_users.py获取随机的用户数据文件users.sql。运行此sql文件向数据库中添加随机用户。\n\n- 在/resources下创建文件jdbc.properties,加入以下内容：\n```properties\ndriverClassName=com.mysql.cj.jdbc.Driver\nurl=jdbc:mysql://localhost:3306/library?characterEncoding=utf-8\u0026useSSL=false\u0026serverTimezone=GMT%2B8\nusername=你的数据库用户名\npassword=你的数据库密码\n```\n\n- 将/resources/library.properties中的省份(province)和城市(city)改为你所在的省份和城市的拼音。\n\n- 在tomcat根目录/conf/context.xml中加入如下内容配置JNDI数据源：\n```xml\n\u003cResource name=\"jdbc/library\" auth=\"Container\"  \n           type=\"javax.sql.DataSource\" maxTotal=\"100\" maxIdle=\"30\" \n           maxWaitMillis=\"10000\" username=\"\" password=\"\" \n           driverClassName=\"com.mysql.cj.jdbc.Driver\" \n           url=\"jdbc:mysql://localhost:3306/library\" \n           factory=\"org.apache.tomcat.jdbc.pool.DataSourceFactory\"/\u003e\n```\n\n同样将username和password换成你的数据库用户名和密码。\n\n- 修改`library.properties`，将省份和城市修改为你所在的地区。\n\n### 目前问题\n1. ~~日志方面，目前记录日志很不方便，考虑修改为log4j等主流日志系统。~~\n2. ~~暂未实现预定座位一定时间后自动释放的功能。~~\n3. 暂未实现手机短信验证功能。\n\n### 参考\n[登录页面](https://blog.csdn.net/qq_41325698/article/details/102591169)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremaker01%2Flibraryseat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremaker01%2Flibraryseat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremaker01%2Flibraryseat/lists"}