CyberLions/CCSO-Site
GitHub: CyberLions/CCSO-Site
一个为宾州州立大学网络安全竞赛组织打造的全栈官网,提供活动管理、CTF 赛事信息展示和成员资源平台。
Stars: 1 | Forks: 1
# CCSO 网站
一个现代的全栈网站,专为**宾州州立大学竞技网络安全组织 (CCSO)** 打造,提供活动管理、成员资源以及 CTF 比赛信息。
## 🚀 概述
CCSO 网站是一个综合平台,用于展示该组织的活动、事件和资源。它采用现代 Web 技术构建,为对网络安全竞赛和教育感兴趣的成员、赞助商和访客提供了引人入胜的体验。
## ✨ 功能
- **活动管理**:带有倒计时的动态活动页面(例如 SillyCTF)
- **活动展示**:展示组织活动的交互式翻转卡片
- **日历集成**:即将举行的活动日历小部件
- **响应式设计**:使用 Tailwind CSS 的移动优先方案
- **内容管理**:与 Strapi 集成的 Headless CMS
- **Discord 集成**:指向社区 Discord 服务器的直接链接
- **现代 UI/UX**:动画背景、平滑的过渡和引人入胜的视觉效果
## 🛠️ 技术栈
### 前端
- **框架**:[Nuxt 3](https://nuxt.com/) (Vue.js)
- **样式**:[Tailwind CSS](https://tailwindcss.com/)
- **图标**:[Heroicons](https://heroicons.com/)
- **图片优化**:[@nuxt/image](https://image.nuxtjs.org/)
- **图表**:[Chart.js](https://www.chartjs.org/)
- **地图**:[Leaflet](https://leafletjs.com/)
- **TypeScript**:完全的类型安全支持
### 后端
- **CMS**:[Strapi 5.20.0](https://strapi.io/)
- **数据库**:PostgreSQL
- **插件**:
- 用于富文本编辑的 CKEditor
- SEO 插件
- 文档插件
- 用户与权限
## 📁 项目结构
```
.
├── frontend/ # Nuxt 3 frontend application
│ ├── assets/ # Static assets (CSS, images)
│ ├── components/ # Vue components
│ ├── composables/ # Vue composables
│ ├── pages/ # Application pages/routes
│ ├── utils/ # Utility functions
│ └── public/ # Public static files
│
└── backend/ # Strapi CMS backend
├── config/ # Strapi configuration
├── database/ # Database migrations
├── src/ # Strapi source code
└── public/ # Public files
```
## 🚦 入门指南
### 前置条件
- **Node.js**:>=18.0.0 <=22.x.x
- **npm**:>=6.0.0
- **PostgreSQL**:用于后端数据库
### 安装
1. **克隆仓库**
git clone
cd
2. **安装前端依赖**
cd frontend
npm install
3. **安装后端依赖**
cd ../backend
npm install
4. **配置环境变量**
在 `frontend` 目录中创建一个 `.env` 文件:
NUXT_PUBLIC_API_BASE=http://localhost:1337
在 `backend` 目录中创建一个包含您的 Strapi 配置的 `.env` 文件:
DATABASE_CLIENT=postgres
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=ccso_db
DATABASE_USERNAME=your_username
DATABASE_PASSWORD=your_password
### 开发
1. **启动后端**
cd backend
npm run develop
Strapi 管理面板将在 `http://localhost:1337/admin` 提供
2. **启动前端**
cd frontend
npm run dev
该网站将在 `http://localhost:8080` 提供
### 构建生产版本
**前端:**
```
cd frontend
npm run build
npm run preview
```
**后端:**
```
cd backend
npm run build
npm run start
```
## 📄 可用脚本
### 前端
- `npm run dev` - 启动开发服务器
- `npm run build` - 构建生产版本
- `npm run generate` - 生成静态站点
- `npm run preview` - 预览生产构建
- `npm run lint` - 运行 ESLint
- `npm run format` - 使用 Prettier 格式化代码
### 后端
- `npm run develop` - 以开发模式启动 Strapi
- `npm run start` - 以生产模式启动 Strapi
- `npm run build` - 构建 Strapi 管理面板
- `npm run strapi` - 运行 Strapi CLI 命令
## 🎯 核心页面
- **主页** (`/`) - 组织概述与活动
- **关于** (`/about`) - 关于 CCSO 的信息
- **活动** (`/events/*`) - 包括 SillyCTF 在内的活动页面
- **赞助我们** (`/sponsor-us`) - 赞助信息
## 🎨 设计特性
- **动画背景**:熔岩灯风格的渐变动画
- **响应式布局**:带断点的移动优先设计
- **平滑过渡**:页面切换和组件动画
- **现代 UI 组件**:翻转卡片、日历小部件、旋转图库
## 📝 许可证
本项目为私有项目,版权归宾州州立大学竞技网络安全组织所有。
## 🔗 链接
- **Discord**:[加入我们的 Discord 服务器](https://discord.gg/NhN5RpBXkm)
- **组织**:宾州州立大学竞技网络安全组织
## 👥 维护者
宾州州立大学竞技网络安全组织 (CCSO)
**注意**:本网站由 CCSO 开发团队维护。如有任何问题或疑问,请通过 Discord 或其他官方渠道联系该组织。
标签:Nuxt 3, Strapi, Syscall, Web开发, 无头CMS, 测试用例