项目简介
本项目是基于Python Flask框架开发的校园分享云盘系统。利用Hadoop分布式文件系统进行数据存储,通过SQLAlchemy ORM框架处理数据库操作,为校园用户提供便捷的文件管理与分享功能。
项目的主要特性和功能
- 文件操作:支持文件上传、下载、重命名、密钥分享、无密钥共享、取消分享、删除、恢复、彻底删除。
- 用户操作:包含注册、登陆、编辑资料、修改密码功能。
- 管理员操作:可查看所有用户个人信息,锁定/解锁用户账号,修改用户账号密码。
- 邀请码注册:每个用户初始分配一个有3次有效使用机会的随机邀请码,用于邀请其他用户注册。
- 用户积分制:上传文件和无密钥共享的文件被下载可增加用户积分,积分用途待后续开发。
- 文件基本分类:依据扩展名判别文件类型,展示时可按文件名、修改日期、大小、下载次数排序。
- 热门分享:可查看所有用户无密钥共享的内容,未共享资源为个人资源,他人不可见。
安装使用步骤
Hadoop安装配置
先安装Hadoop环境,参考http://www.powerxing.com/install-hadoop/ 。启用Hadoop回收站,修改conf/core-site.xml和hdfs-site.xml。真分布式hdfs搭建注意: 1. 主机名修改要与hdfs中节点hosts文件名字相同。 2. namenode的webhdfs端口从50070转成9870。 3. core-site中使用ip地址而非0.0.0.0,并在hdfs-site.xml中添加与namenode的rpc通信配置项目。 4. 注意端口的安全组和防火墙设置。
依赖安装
bash
pip3 install virtualenv
virtualenv --no-site-packages venv
source venv/bin/activate
pip install -r requirements.txt
修改配置
修改配置文件config.py:
python
MAX_CONTENT_LENGTH = 1024 * 1024 * 128
REMEMBER_COOKIE_DURATION = timedelta(days=7)
HDFS_TRASH = '/user/username/.Trash/Current/'
HDFS_IP = "http://114.116.5.3:9870"
BASE_HOST='http://114.115.167.187:8082/'
数据库配置
bash
python manage.py db init
python manage.py db migrate -m "init"
python manage.py db upgrade
python manage.py deploy
启动
bash
python manage.py runserver
打开:http://114.115.167.187:8082/ ,默认用户名admin,密码 I won't tell you(管理员账户)
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】