SZU-Competition-Forum Tailwind Templates

Szu Competition Forum

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

项目说明

技术栈:

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 启动脚本

    在配置 FastAPI 启动脚本之前,请单独运行 app.db.models 文件,他将会生成一份 .db 文件,此文件即为 SQLite 数据库,将这份文件放在启动与你的启动脚本同级的目录下面,并确保在启动之前,你已经安装了 Redis 数据库。

    FastAPI 应用通常会有一个启动脚本(比如 main.py),你需要确保在本地运行时能够启动 FastAPI。

    • 确保安装了 uvicorn,这是用于启动 FastAPI 应用的 ASGI 服务器:

      pip install uvicorn
      
    • 然后使用以下命令启动 FastAPI 后端:

      uvicorn main:app --reload
      
      • main 是你的 FastAPI 应用所在的 Python 文件名(不带 .py 后缀)。
      • app 是 FastAPI 实例化的对象,通常写作 app = FastAPI()
      • --reload 选项表示开发模式下每次修改代码后自动重启服务器。

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

4. 前后端同时启动

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

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

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


Top categories

Loading Svelte Themes