felipeiise / xogito-api
PHP任务用户API
Requires
- ext-json: *
- ext-pdo: *
- bacon/bacon-qr-code: ^2.0
- firebase/php-jwt: ^6.3
- pragmarx/google2fa: ^8.0
- vlucas/phpdotenv: ^5.5
README
说明
创建一个运行在PHP 7+上,使用PostgreSQL进行持久化并支持JSON请求负载的API。应用程序应具有用户账户,用户可以使用多因素认证(MFA)方法登录到系统。每个账户可以是管理员或普通用户。您可以使用您认为合适的任何库。对于这个练习,主要目标是分析您使用纯PHP编程语言的能力。所以,请避免使用框架,仅关注PHP语言。
用户需求
-
可以完成注册步骤 ✅
-
可以登录 ✅
-
可以更新他们的名字 ✅
管理员需求
-
可以完成用户能做的所有事情 ✅
-
可以创建新的账户(用户和管理员) ✅
-
可以停用账户 ✅
加分项
-
支持使用composer安装API ✅
-
API的Postman请求集合 ✅
-
文档 ✅
交付
项目应添加到任何Git托管平台的公共Git仓库中,并在截止日期前发送仓库的URL。项目应包括一个README.md文件,概述安装和运行项目的步骤。运行项目不需要外部依赖项!
安装
要安装此项目,您可以克隆Docker仓库(PHP 7.4 + NGINX + PostgreSQL)并使用composer安装API
git clone https://github.com/felipeiise/xogito-docker.git
移动到克隆的仓库
cd xogito-docker
启动Docker构建过程(这可能需要几分钟)
docker compose up -d --build
进入最近创建的PHP容器
docker exec -it php-srv bash
并使用composer安装API项目(注意在下面行尾的dot
)
composer create-project felipeiise/xogito-api .
将.env.example文件重命名为.env
mv .env.example .env
然后就这样,您可以直接在浏览器中导航到
有一个初始管理员
密码: 12345678
或者,您可以使用composer在不使用Docker的情况下安装API到您电脑上的某个文件夹
composer create-project felipeiise/xogito-api
cd xogito-api
将.env.example文件重命名为.env
mv .env.example .env
并且您需要将本地.env
文件中的ENVIRONMENT变量替换为您的当前本地安装的PostgreSQL凭据
DB_HOST=localhost
DB_USER=postgres
DB_PASSWORD=docker
DB_DATABASE=postgres
DB_PORT=5432
在仓库根目录的sql
文件夹中有2个.sql
文件需要在数据库中执行
create_tables.sql
initial_data.sql
要在终端中启动API,输入
php -S https://:8080
并导航到
https://:8080
还有一个名为postman
的文件夹,其中包含用于导入和测试API路由的集合和环境文件。
作者: @felipeiise