Skip to content

pc-mysql/pfans

Repository files navigation

Pfans - 无畏契约粉丝社区

Pfans 是一个专为无畏契约(Valorant)玩家打造的粉丝社区平台。在这里,你可以分享精彩的游戏录像、截图,参与比赛复盘讨论,以及收集和分享游戏中的“精彩语录”。

🌟 功能特性

  • 视频与图片分享

    • 支持上传游戏录像和精彩截图。
    • 视频采用 Supabase 对象存储,支持在线播放。
    • 视频标签分类(排位赛、普通模式、死斗模式等)。
    • 视频时间轴展示 (/videos)。
  • 精彩语录 (P言P语)

    • 收录游戏中的经典语录和黑话。
    • 支持用户贡献新词。
    • 视频上传时可关联相关语录标签。
  • 比赛复盘

    • 专业的比赛复盘工具 (/match-review)。
    • 战术板与即时讨论。
  • 用户系统

    • 完整的注册/登录流程。
    • 个人主页展示 (/profile)。
    • 视频点赞、评论互动。
  • 管理后台

    • 管理员数据看板 (/admin)。
    • 内容管理与审核。
  • 移动端适配

    • 响应式设计,支持手机端访问。

🛠 技术栈

  • 前端框架: React + Vite
  • UI 库: Tailwind CSS + Lucide React (图标)
  • 后端/BaaS: Supabase
    • Auth: 用户认证
    • Database: PostgreSQL 数据库
    • Storage: 视频与图片对象存储
  • 进程管理: PM2 (生产环境后台运行)

🚀 快速开始

1. 克隆项目

git clone https://gitee.com/pcxtu/pfans.git
cd pfans

2. 安装依赖

npm install

3. 配置环境变量

在项目根目录创建 .env 文件,填入你的 Supabase 配置:

VITE_SUPABASE_URL=你的_SUPABASE_URL
VITE_SUPABASE_ANON_KEY=你的_SUPABASE_ANON_KEY

4. 启动开发服务器

同时启动前端和后端服务(开发模式):

npm run dev
  • 前端地址: http://localhost:5173
  • 后端API: http://localhost:3001

📦 生产环境部署

构建项目

npm run build

后台运行 (使用 PM2)

项目包含自动化脚本,可使用 PM2 在后台运行服务:

# 赋予脚本执行权限
chmod +x start.sh stop.sh

# 启动服务
./start.sh

# 停止服务
./stop.sh

查看服务状态

pm2 list    # 查看进程列表
pm2 logs    # 查看运行日志

📂 目录结构

pfans/
├── api/                # 后端 API 服务 (Express)
├── src/
│   ├── components/     # 公共组件
│   ├── context/        # React Context (如 AuthContext)
│   ├── lib/            # 工具库 (Supabase 客户端等)
│   ├── pages/          # 页面组件
│   ├── types/          # TypeScript 类型定义
│   └── App.tsx         # 路由配置
├── public/             # 静态资源
├── supabase/           # Supabase 迁移文件
├── ecosystem.config.cjs # PM2 配置文件
└── ...

🤝 贡献

欢迎提交 Issue 和 Pull Request 来改进这个项目!

📄 许可证

MIT License

About

pfans

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors