This is my little web project made with Laravel 4.2 which aims to encourage students who has special talent to help someone in need.
Inspired by PHPHub, GitHub, ZhiHu, ele.me
Software Engineering student in school, crazy about technology and art but not much proficient. A short time ago, someone in the school had a conflict with me so that I have to quit school. However, it's a good opportunity for me because I am able to spend all my spare time in programming learning. To summarize the self-study plan, acturally I did learn something new that I didn't know before like linux, git and web framework.Previously, I did almost work in windows and now I change to linux environment so that I am able to learn more about programming with so much open source code.
Initialize
python init.py
This will create the directories ignored by .gitignore
├── /Framework/public/avatar/
├── /Framework/public/file/
├── /Framework/public/student_card/
├── /Framework/public/upload/cache/
└── /Server/db_backup/
Make sure the permission of the directories created above and
/Framework/app/storage
is writable.Just change the file's group to
www-data
so that it can work under nginx.
Configure
First you need to config the username & password of database in Framework/app/config/database.php
.
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'witkey',
'username' => 'your_database_username',
'password' => 'your_database_password',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
),
And then create a database named witkey
in mysql:
CREATE DATABASE witkey
change directory to Framework
and make database migration:
php artisan migrate
make database seed:
php artisan db:seed
then run the server:
php artisan serve
type localhost:8000 in browser and after that you can see the page
- 用户登录/注册/退出
- 忘记密码
- 用户积分?
- 用户等级?
- 用户红包
- 用户角色控制
- 校区负责人
- 任务发布/编辑
- 校区选择
- 实名身份认证
- 头像上传
- 报价
- 交稿
- 支付
- 任务延期设置
- 任务收藏
- 任务评价
- 任务搜索
- 同校校友都在搜?
- 条件筛选(最新发布、最多赏金、最短周期、最小竞争)
- 任务分类
- 任务附件上传
- 日程安排?
- 添加好友
- 雇佣某人
- 站内信
- 邮箱验证?
- 短信验证
Database E-R Diagram
Flowchart
Class Diagram with MVC architecture
The 3 diagrams above are made with:
- MySQL Workbench (E-R Diagram)
- yEd (Flowchart)
- StarUML (Class Diagram)
- Laravel 4.2
- Bootstrap 3.3.5
- AngularJS 1.2.10
bootstrap3-wysiwyg- simditor
- laravel-jquery-file-upload
- moment.js
- countdown.js
- HTMLPurifier for Laravel 4
- select2
- select2-bootstrap-theme
- bootstrap-datepicker
- bootstrap-datetimepicker
- awesome-bootstrap-checkbox
- particles.js
- cropper
- jquery_lazyload
- NProgress
Database backup
Edit the crontab with command: crontab -e
.
Save the backup in every morning 3am:
# m h dom mon dow command
0 3 * * * (ROOT_PATH)/Server/mysql_backup.sh
Mysql event scheduler
Turn on event scheduler:
SET GLOBAL event_scheduler=ON;
Check the status of event scheduler:
show variables like '%event%';
Create event:
CREATE EVENT mark_as_expired_task
ON SCHEDULE EVERY 1 MINUTE
DO UPDATE Task SET state = 5 WHERE state = 1 AND expiration < now();
<tr>
<td><b>Total</b></td>
<td><b>¥ 5000</b></td>
<td></td>
<td><b>7</b></td>
</tr>
</tbody>
Fee Name | Fee Amount | Remark | Quantity |
---|---|---|---|
Yunti VPN | ¥ 230.00 | 1 | |
Aliyun ECS | ¥ 58.24 | 1 | |
Domain Name | ¥ 39.00 | 1 | |
Short Message Service | ¥ 1200.00 | 20000 text messages | 1 |
Aliyun Server Renewal | ¥ 1224.00 | 3 years | 1 |
Domain Name Renewal | ¥ 190.00 | 2 years | 1 |
User Coupons | ¥ 2058.76 | 1 |