SchoolDash Alpha冲刺随笔1 - Day 1
课程与作业信息
所属课程:软件工程实践
作业要求来源:第五次作业——Alpha冲刺(截止2025年12月23日)
本篇目标:记录冲刺第1天进度,展示燃尽图、运行效果、成员工作成果
-
项目燃尽图(Burn-up Chart)

-
本日冲刺整体进展
冲刺正式启动,完成项目环境搭建和数据库初始化。
后端启动Express服务,前端Vite开发服务器运行正常。
解决历史问题:确认移除所有图片功能,数据库表结构已清理imgUrl字段。
-
项目最新运行效果

-
今日工作成果
(后端开发)
环境配置
# 数据库配置
# 如果使用SQLite,保持USE_SQLITE=true,DB_HOST设置不影响
# 如果使用MySQL且数据库在同一台服务器,设置为localhost
# 如果使用MySQL且数据库在不同服务器,设置为MySQL服务器IP
DB_HOST=localhost
DB_USER=root
DB_PASS=123456
DB_NAME=schooldash_data
# 服务器端口配置
PORT=8080
# JWT密钥
JWT_SECRET=school_dash_jwt_secret_2025
# 数据库类型选择 (true=SQLite, false=MySQL)
USE_SQLITE=false
# 生产环境配置
NODE_ENV=production
数据库连接切换优化
const { Sequelize } = require('sequelize');
const path = require('path');
require('dotenv').config();
// 检查是否使用SQLite
const useSQLite = process.env.USE_SQLITE === 'true';
let sequelize;
if (useSQLite) {
// 使用SQLite数据库
const dbPath = path.join(__dirname, '..', 'database.sqlite');
console.log('📄 使用SQLite数据库:', dbPath);
sequelize = new Sequelize({
dialect: 'sqlite',
storage: dbPath,
logging: process.env.NODE_ENV === 'development' ? console.log : false
});
} else {
// 使用MySQL数据库
console.log('🐬 使用MySQL数据库');
sequelize = new Sequelize(
process.env.DB_NAME || 'schooldash_data',
process.env.DB_USER || 'root',
process.env.DB_PASS || '123456',
{
host: process.env.DB_HOST || 'localhost',
dialect: 'mysql',
port: 3306,
logging: false
}
);
}
// 测试连接
const testConnection = async () => {
try {
await sequelize.authenticate();
console.log('✅ 数据库连接成功');
} catch (error) {
console.error('❌ 数据库连接失败:', error.message);
console.log('⚠️ 服务将继续运行,但数据库操作将失败');
}
};
testConnection();
module.exports = sequelize;
(前端开发)
项目初始化与Vite配置
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
plugins: [vue()],
server: {
proxy: {
'/api': {
target: 'http://localhost:8080',
changeOrigin: true
}
}
},
base: '/', // 生产环境和开发环境都使用根路径
build: {
outDir: 'dist',
assetsDir: 'assets',
rollupOptions: {
output: {
// 使用新的选项名称
entryFileNames: `assets/[name].[hash].js`,
chunkFileNames: `assets/[name].[hash].js`,
assetFileNames: `assets/[name].[hash].[ext]`
}
},
// 生产环境移除 console 和 debugger
minify: 'terser',
terserOptions: {
compress: {
drop_console: process.env.NODE_ENV === 'production',
drop_debugger: process.env.NODE_ENV === 'production'
}
}
}
})
- 本日小结与明日计划
今日总结:环境搭建顺利,团队站会高效,无阻塞。
明日计划:实现用户注册登录模块
Alpha冲刺启动,SchoolDash加油!
126

被折叠的 条评论
为什么被折叠?



