soutbiaafnts/faro-animal
GitHub: soutbiaafnts/faro-animal
基于 CodeIgniter 4 构建的兽医诊所内部管理系统,提供宠物档案、预约管理和诊疗记录的全流程数字化支持。
Stars: 0 | Forks: 0
# Faro Animal




Faro Animal 是一个旨在辅助兽医诊所内部管理的 Web 系统。
该应用程序允许经过身份验证的兽医注册和管理动物,安排兽医预约,并维护基本的就诊历史记录。
该系统使用 CodeIgniter 4 框架开发,并遵循 MVC (Model-View-Controller) 架构,同时使用 Services 来集中处理业务逻辑。
## 目录
- [要求](#requisitos)
- [功能](#funcionalidades)
- [工作流程](#fluxo-de-funcionamento)
- [技术栈](#tecnologias)
- [安装说明](#instalação)
- [环境配置](#configuração-do-ambiente)
- [数据库](#banco-de-dados)
- [运行项目](#executando-o-projeto)
## 要求
- **要求 01:** 应用程序必须使用 HTML、CSS、JavaScript 和 PHP 开发,并使用 CodeIgniter 4 框架。
- **要求 02:** 系统必须遵循使用 MVC (Model-View-Controller) 模式的分层架构,并使用服务类 (Services) 来集中处理业务逻辑。
- **要求 03:** 应用程序的 views 必须使用 CodeIgniter 的布局概念进行组织,以促进视觉结构的重用和系统页面的标准化。
- **要求 04:** 必须至少使用一个前端框架(例如 Bootstrap)来辅助构建系统的图形界面。
- **要求 05:** 系统界面应遵循良好的可用性实践,优先考虑视觉清晰度、元素组织、可读性、导航标准化以及用户使用的便利性。
- **要求 06:** 系统必须至少包含两个无需身份验证即可访问的公共页面,其中必须包含一个主页和一个登录页面。
- **要求 07:** 系统必须包含一个仅在用户身份验证后才能访问的受限区域。
- **要求 08:** 在受限区域中,必须至少实现两个 CRUD(创建、读取、更新、删除)操作。
- **要求 09:** 至少有一个 CRUD 操作必须涉及具有 1:N 关系的两张相关表。
- **要求 10:** 在与 CRUD 操作相关的至少一个界面中,必须具备将数据导出为 PDF 格式的功能。
- **要求 11:** 系统必须具备会话控制功能,包括登录、登出以及通过向用户预先注册的地址发送电子邮件来找回密码的功能。
- **要求 12:** 应用程序必须包含至少一个使用 Ajax 请求或与某个外部 API 集成的功能。
- **要求 13:** 应用程序的表单必须通过使用 CSRF (Cross-Site Request Forgery) token 来防范 CSRF 攻击。
- **要求 14:** 系统必须具备自定义错误页面,用于处理异常和无效的导航情况,至少包括一个针对“Page Not Found” (404) 错误的自定义界面。
## 功能
- 用户身份验证;
- 通过电子邮件找回密码;
- 物种的注册和管理;
- 品种的注册和管理;
- 动物的注册和管理;
- 兽医预约的注册和管理;
- 将预约记录导出为 PDF;
- 使用 AJAX 根据物种动态加载品种;
- 会话控制和 CSRF 防护;
- 自定义错误页面。
## 工作流程
### 宠物注册
在注册动物时,用户会选择一个物种。接着,系统会发起一个 Ajax 请求,以自动加载与所选物种相关的品种。
### 兽医预约
每次预约都会关联到一个先前注册的宠物。在就诊期间,兽医可以记录诸如就诊原因、诊断结果、处方和观察备注等信息。
### 报告
预约列表可以导出为 PDF 格式,以便打印或进行数字化存储。
## 技术栈
- [PHP 8.2+](https://www.php.net/)
- [CodeIgniter 4](https://codeigniter.com/user_guide/index.html)
- [MySQL](https://www.mysql.com/)
- [Composer](https://getcomposer.org/download/)
- [Bootstrap](https://getbootstrap.com/)
## 安装说明
### Composer
在本项目中,我们使用 **Composer** 来管理 **CodeIgniter 4** 的包。
#### 1. 开启 PHP 扩展
在 `php.ini` 文件中,删除行首的 `;` 以启用以下扩展:
- zip
- intl
- mysqli
- mbstring
#### 2. 克隆仓库
```
git clone https://github.com/soutbiaafnts/faro-animal
```
#### 3. 进入项目目录
```
cd faro-animal
```
#### 4. 安装依赖
```
composer install
```
## 环境配置
### Dotenv
CodeIgniter 需要在项目根目录下有一个 `.env` 文件,并且已经提供了一个默认模板。
#### 1. 复制文件
```
env
```
#### 2. 将副本重命名为
```
.env
```
#### 3. 配置以下属性
```
CI_ENVIRONMENT = development
app.baseURL = 'http://localhost:8080/'
```
同时配置 `DATABASE` 会话的属性:
```
database.default.hostname = localhost
database.default.database = faro_animal
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
database.default.port = 3306
```
## 数据库
执行位于 `public/assets/faro_animal.sql` 的 `faro_animal.sql` 文件。
## 运行项目
#### 1. 启动 CodeIgniter 本地服务器
```
php spark serve
```
项目可通过以下地址访问:
```
http://localhost:8080
```
标签:CodeIgniter, ffuf, MVC架构, OpenVAS, PHP, 信息管理系统, 兽医诊所管理, 数据可视化