littlebot
Published on 2025-04-18 / 3 Visits
0

【源码】基于Node.js和Brick.JS框架的实验室网站系统

项目简介

本项目基于Node.js和Brick.JS框架构建了ics.pku.edu.cn网站系统,主要为北京大学智能计算与感知实验室服务,可提供网站展示、文件上传下载以及LDAP认证等服务。

项目的主要特性和功能

  1. 网站服务:依靠Node.js搭建高效灵活的Web服务,利用Brick.JS框架对页面进行组织和管理。
  2. 文件管理:支持用户上传和下载文件或数据集,文件命名需遵循特定格式。
  3. LDAP认证:借助LDAP目录服务实现用户认证,适用于大型组织或企业的用户管理。

安装使用步骤

安装依赖

  1. 安装Node.js v8.0.0版本。
  2. http://redis.io/下载并安装Redis - Server,从https://www.mongodb.com/download-center#community下载并安装MongoDB。
  3. 全局安装gulp:npm install gulp -g

构建和运行

  1. 进入项目目录并安装依赖:cd ics.pku.edu.cn && npm install
  2. 构建项目:gulp build
  3. 配置项目:复制配置示例文件并进行编辑,cp config.example.json config.json,然后用vim config.json进行必要配置。
  4. 依次启动服务:mongod & 启动MongoDB,redis - server & 启动Redis,sh ldap/gen - cert.sh 生成证书,node ldap/ldap - server.js & 启动LDAP服务,最后 npm start 启动Node.js应用。

开发

在开发环境下,使用 gulp 命令进行构建和服务器启动。

管理员用户更新

  1. 更新 config.admin 配置(确保 config.mongodb 配置有效)。
  2. 启动MongoDB服务。
  3. 运行 node ./bin/update - admin.js 更新管理员用户。

文件上传与下载

  1. 登录网站 http://ics.pku.edu.cn,用户名 ics,密码 ics1800
  2. 下载文件或数据集:在主页导航栏选择“资源下载”,点击“学术文章”可下载文件,点击“数据下载”可下载数据集。
  3. 上传文件或数据集:在主页顶层导航点击用户名,进入“管理页面”,选择“内容管理: 文件管理”进行文件上传,文件需按指定格式命名。

网站架构

项目使用Node.js编写并运行,默认监听3008端口,可在 config.jsonexpress 项下修改;使用Redis作为数据存储支持,默认端口6379,也在 config.json 中配置。网页内容存于 bricks 文件夹,按模块组织在子目录内。公开文件上传至 public/upload 目录,访问链接格式为 /upload/xxx.txt。采用systemctl的service运行网站,支持自动重启服务。

Mongoose Schema

用于在MongoDB数据库中组织JS对象,可实现数据的添加、查询、修改和删除操作。添加数据时创建对象并调用 save 函数;查询时调用 find(obj, selcs, handler) 函数,其中 obj 为查询条件,selcs 为要提取的属性,handler 为处理返回值的函数。

LDAP服务

项目集成LDAP目录服务用于用户登录认证。可在 ldap - server 中编写 addsearchbind 等方法处理接口,具体参考ldapjs官方文档 http://ldapjs.org/。同时,portainer官方关于LDAP的文档可参考 https://documentation.portainer.io/v2.0/auth/ldap/https://www.linkedin.com/pulse/ldap-usersgroups-portainer-neil-cresswell/

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】