基于 Laravel 5.5 开发的开源校园管理系统 —— Unifiedtransform
简介
Unifiedtransform 是一个基于 Laravel 5.5 + Bootstrap 3.3.7 开发的开源校园管理系统,主要提供一下功能:
- 用户及角色管理:管理员、老师、学生、图书管理员、会计等
- 后勤、值班
- 成绩
- 注册
- 通知公告、教学大纲
- 图书馆
- 考试管理
- 年级、班级
- 财务、费用
- 消息、事件
快速上手
安装配置
首先,从 Github 将项目克隆到本地并进入项目目录:
git clone https://github.com/changeweb/Unifiedtransform.git
cd Unifiedtransform
如果是在开发环境,使用下面这个命令安装项目依赖的第三方扩展包:
composer install
如果是在生产环境,则使用如下命令安装依赖(不安装开发环境依赖的扩展包):
composer install --no-dev
接下来设置环境文件,赋值一份 .env.example
并将其重命名为 .env
:
cp .env.example .env
运行如下 Artisan 命令生成应用密钥:
php artisan key:generate
在本地数据库中创建一个 school
数据库,在 .env
中配置本地数据库环境,然后运行迁移命令创建数据表并通过 Unifiedtransform 提供的填充器初始化数据库数据:
php artisan migrate
php artisan db:seed
Unifiedtransform 基于 Laravel Passport 提供 API 认证支持,你可以通过 php artisan passport:keys
自动生成 Passport 的密钥信息,生成的密钥文件存放在 storage
目录下。
这样,我们就完成了 Unifiedtransform 项目的安装配置和初始化工作。
创建学校和管理员
如果你是用 Valet 作为开发环境的话,现在就可以直接在浏览器中通过 Unifiedtransform.test
访问项目了。
如果使用的是其他开发环境,需要配置一个虚拟域名指向项目目录下的 public
目录,这里我们将虚拟域名配置为 school.test
,在浏览器中访问 http://school.test/home
,页面会跳转到登录页:
我们使用填充器中提供的初始化 master
账户进行登录,对应的邮箱/密码是 hasib@unifiedtransform.com
/secret
(只有 master
类型用户才能创建学校和管理员)。
登录成功后,页面就会跳转到 http://school.test/home
,我们可以在这个页面上对学校进行管理:
点击「Manage Schools」进入学校管理页面,此时,列表里已经有一个默认的初始化数据了:
不过我们可以通过「Creare School」按钮新增学校:
创建成功后,我们可以点击「Create Admin」按钮为学校创建管理员:
保存成功后,在学校管理页面就可以通过「View Admin」按钮看到刚刚创建的管理员了。
学校管理系统
master
级别账户仅限于管理学校和管理员,具体某个学校的系统管理需要通过学校的管理员来操作,我们退出刚刚登录的账户,使用新创建的管理员「学院君」对应账号信息重新登录系统,就可以进入新建学校「Laravel学院」的管理面板了:
在这里,我们可以对「Laravel学院」进行各种管理,比如用户、班级、考试、成绩、通知、图书馆、财务等。具体细节我就不一一演示了,如果有需要的话,你可以自己下载并初始化这个项目进行测试和探索。
注:新增部门、班级、学生、教师、会计图书馆等信息在「Academic Settings」页面完成。
12 条评论
什么都开箱即用,以后怕是要失业
人工智能写代码正在赶来的路上。。。
In DuskServiceProvider.php line 43:
It is unsafe to run Dusk in production.
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
把
.env
里面APP_ENV
配置值调整为local
界面可以,用啥写的?
@学院君 帮忙看看哈 ,首页点“home” 后报错, /home/vagrant/Code/Schoolmanager/app/Http/Controllers/HomeController.php $school_id = \Auth::user()->school->id; "Trying to get property 'id' of non-object"
当前用户有关联的 school 记录吗
可以了,谢谢学院君
Type error: Argument 2 passed to App\Model::scopeBySchool() must be of the type integer, null given, called in /Users/taylor911/Coding/Unifiedtransform/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php on line 955 一直报这个错误,帮忙看下
要求传入 App\Model::scopeBySchool() 的第二个参数是整型 你传入的是 null