1、立项原因,旨在解决什么产品问题:
传统学术期刊与会议投稿系统往往依赖庞大的商业软件或重型架构,学会编辑部通常缺乏专职IT人员,导致长期运维成本极高、数据迁移困难。本项目旨在解决学术机构投稿流程数字化过程中的“高运维门槛”痛点,打造一款无需专业运维、数据完全自主可控、支持换届交接的轻量级学术基础设施。
2、行业场景,业务背景:
本项目服务于中国逻辑学会官网,核心业务背景为支撑《逻辑、智能与哲学》集刊、学术年会征文及大众作品征集。场景涵盖海量大众作者的日常投稿、专家学者的双向匿名同行评议、以及编辑部严密的权限治理与学术合规审计。
1、项目有哪些具体功能模块:
系统包含公共门户、作者中心、编辑中心、审稿中心以及独立的根账号治理控制台五大模块。内置全站通知、邮件异步队列、审计日志与CSV台账导出等功能。
2、项目的主要功能描述:
核心流程:提供从投稿、初审、外审、退修、修回到录用刊发的全流程闭环。支持作者五步向导上传完整稿与匿名版;编辑基于“认领制”邀请外审并可强制退回补正。
安全与合规:严格实现双向匿名评审(审稿人仅能下载匿名版);独创“根账号治理层”,由数据库约束保障唯一根账号,且仅根账号可创建编辑账号与分配专题,确保换届与权限交接安全。
极简运维架构:后端采用 Node.js + Express,前端为原生 ES Modules 无构建方案。数据层采用 SQLite(WAL模式),无需部署独立的 MySQL 数据库服务。系统支持一键备份数据与文件、崩溃自动恢复,极大降低了学会缺乏专职IT人员的维护门槛。
1、我负责的具体任务:
作为独立全栈开发者,我主导了该项目的全生命周期。包括前期需求调研与业务建模、整体架构设计、前后端代码开发、数据库设计与优化、并发控制与安全策略落地,以及后期的自动化测试脚本编写与部署文档(含交接指南)输出。
2、技术栈与架构实现亮点、难点:
技术栈:后端 Node.js 24 + Express 4,数据层采用 SQLite(WAL模式,基于内置 node:sqlite),前端使用原生 ES Modules 极简无构建方案。
架构与亮点:
1. 极简免运维架构:摒弃传统的重型数据库,采用 SQLite 单文件存储。实现了零外部依赖,备份与恢复仅需复制文件,极大降低了缺乏专职IT人员的学会编辑部的运维门槛。
2. 严谨的治理与安全:利用数据库生成列(Generated Column)与唯一索引,在底层强制约束“单根账号”模型;实现文件级别的双向匿名隔离,确保审稿人绝对无法越权获取作者原稿。
实现难点:
3. 单写者模型下的并发控制:针对 SQLite 单写者特性,通过 BEGIN IMMEDIATE + 进程内互斥锁 + 预编译缓存,结合业务层的条件更新(如 UPDATE ... WHERE status = '待认领'),彻底解决了多人同时认领、重复提交等竞态问题(确保返回 200/409 一致性)。
4. 异步任务与状态一致性:为克服无外部消息队列的限制,自研了基于数据库的邮件异步队列,通过状态机、行级锁与超时恢复机制,保证进程崩溃后邮件不丢失、不重复发送。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论