本人并非专业前端选手,本项目基于 next.js
进行开发,若感觉项目结构比较混乱,欢迎提PR。
运行项目:
- 在命令行或终端中输入以下命令:
npm install
npm run initialize-db # 初始化用户数据库
python init_db.py # 初始化论坛数据库
- 然后输入以下命令启动项目:
npm run dev # 前端
uvicorn main:app --reload # 后端
在浏览器打开链接 http://localhost:3000 在浏览器中查看前端界面。 后端链接:默认 http://127.0.0.1:8000/docs
# 首次进去的主页面
src/app/page.js
# 初始化用户账号数据库脚本
.init-db.js
# src
|--src
|----app # 主页面
|----favicon.ico # 网站图标
|----layout.js # 主页面布局
|----page.js # 主页面
|----page.module.css # 主页面样式
|----(other) # 其他
|----components # 组件
|----baike # 百科
|----BaikeSearch.js # 百科搜索页面
|----KnowledgeAnswer.js # 知识问答页面
|----uploadFiles.js # 上传文件页面
|----user # 用户相关;页面样式什么的可以在这改
|----background.css # 登录注册页面的背景
|----login.module.css # 登录注册页面的样式
|----register.js # 注册页面
|----ForgotPW.js # 忘记密码、重置密码页面
|----Login.js # 登录页面
|----forum # 论坛(还没将函数搬运过来)
|----ui # 各类UI组件
|----styles # 存放各类样式css文件
|--public # 存放公共资源,例如图片等
# pages
|--pages
|----api # 接口
|----forgot-password # 忘记密码,重置密码
|----register # 注册
|----login # 登录
|----(other) # 其他
|----BaikeSearch # 顶部导航栏的物种百科子页面
|----baikeSearch.js # 百科搜索页面
|----conversation.js # 对话页面
|----uploadFiles.js # 上传文件页面
|----about # 关于页面
|----BaikeSearch.js # 顶部导航栏的物种百科总页面
|----forum.js # 论坛页面
|----helloWorld.js # 主页,懒得改了
|----forgot-password.js # 忘记密码,重置密码页面
|----register.js # 注册页面
|----login.js # 登录页面
|----helloWorld.js # 测试页面
# 后端
|--Server
|----api
|----forum.py # 论坛接口
|----user.py # 用户接口
|----ProcessFiles.py # 文件处理接口
|----config.yml # 配置文件
|----init_db.py # 初始化论坛数据库脚本
|----main.py # FastAPI主文件
|----utils.py # 工具函数文件
# 当前有一些冗余文件未删除
|----ProcessFiles.py # 处理文件到数据库的函数
|----Retriver.py # 检索文件的函数
|----uploads # 里面有以用户名命名的文件夹,存放用户上传的文件
背景什么的可以自己换