Skip to content

本项目旨在实现竞赛论坛平台的功能,采用现代化的技术栈构建,前端基于 Next.js、TypeScript 和 Tailwind CSS,具备高效的组件化开发与优雅的用户界面。后端采用 FastAPI 框架,确保系统具备高性能、易扩展的 API 服务,数据存储使用轻量级、嵌入式的 SQLite 数据库,方便快速部署与开发。 本仓库主要用于项目代码的分发与维护,欢迎 SZUer 共同参与建设与优化。

License

Notifications You must be signed in to change notification settings

Bearisbug/SZU-Competition-Forum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

127 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目说明

技术栈:

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

自动构建流水线(适用Ubuntu)

克隆本项目并运行deploy-init.sh。

注意:建议使用虚拟环境,该脚本会自动安装docker及其相关组件,虚拟环境需设置桥接网络模式

git clone https://github.com/Bearisbug/SZU-Competition-Forum.git
cd SZU-Competition-Forum
sh ./Deploy/deploy-init.sh

执行完成后,docker将自动打包镜像并启动,可以在./Deploy/build找到打包完毕的前后端镜像。访问下方地址即可进入网站。目前仅使用HTTP访问,若需配置HTTPS+SSL证书,可以访问Let's Encrypt官网获取免费证书。

http://localhost/

手动构建

1. 克隆项目到本地

首先,克隆整个项目到本地:

git clone https://github.com/Bearisbug/SZU-Competition-Forum.git
cd SZU-Competition-Forum

2. 启动前端项目

前端使用 Node.jsnpm 启动,确保你已经安装了 Node.js(包括 npm)。

  1. 进入前端项目目录

    cd FrontEnd
  2. 安装前端依赖

    执行以下命令来安装所有需要的前端依赖包:

    npm install

    这将根据 package.json 中列出的依赖来下载和安装所有所需的前端库。

  3. 启动前端开发服务器

    安装完依赖后,启动前端开发服务器:

    npm run dev

    默认情况下,前端项目将会在 localhost:3000 启动。打开浏览器并访问以下地址:

    http://localhost:3000
    

    你现在应该能够看到前端应用在浏览器中运行了。

3. 启动后端项目

后端使用 FastAPI ,在运行之前,请确保你已经安装了 Python(推荐使用虚拟环境)。

  1. 进入后端项目目录

    cd BackEnd
  2. 安装后端依赖

    执行以下命令来安装后端所需的 Python 库:

    pip install -r requirements.txt

    这将自动从 requirements.txt 文件中读取依赖并安装相应的包。

  3. 配置 FastAPI 启动脚本

    执行以下命令来启动后端

    python -m app.db.models
    python main.py

    启动后,你可以通过浏览器访问 http://localhost:8000 来访问后端 API,默认端口是 8000

4. 前后端同时启动

确保前端和后端都已经成功启动后,整个项目就可以运行了:

  • 前端: 打开 http://localhost:3000,访问前端页面。
  • 后端: 打开 http://localhost:8000/docs,访问后端 API 文档。

确保前后端的接口能够正确连接。如果你在前端做了某些请求到后端,确保后端服务已经启动并且接口正确无误。


About

本项目旨在实现竞赛论坛平台的功能,采用现代化的技术栈构建,前端基于 Next.js、TypeScript 和 Tailwind CSS,具备高效的组件化开发与优雅的用户界面。后端采用 FastAPI 框架,确保系统具备高性能、易扩展的 API 服务,数据存储使用轻量级、嵌入式的 SQLite 数据库,方便快速部署与开发。 本仓库主要用于项目代码的分发与维护,欢迎 SZUer 共同参与建设与优化。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors