Skip to content

bytrix/witkey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Campus Witkey

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

About myself

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.

Let's keep on track

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

Development Progress

  • 用户登录/注册/退出
  • 忘记密码
  • 用户积分?
  • 用户等级?
  • 用户红包
  • 用户角色控制
  • 校区负责人
  • 任务发布/编辑
  • 校区选择
  • 实名身份认证
  • 头像上传
  • 报价
  • 交稿
  • 支付
  • 任务延期设置
  • 任务收藏
  • 任务评价
  • 任务搜索
  • 同校校友都在搜?
  • 条件筛选(最新发布、最多赏金、最短周期、最小竞争)
  • 任务分类
  • 任务附件上传
  • 日程安排?
  • 添加好友
  • 雇佣某人
  • 站内信
  • 邮箱验证?
  • 短信验证

Architecture

Database E-R Diagram

Database E-R Diagram

Flowchart

Flowchart

Class Diagram with MVC architecture

Class Diagram

The 3 diagrams above are made with:

Core

  • Laravel 4.2
  • Bootstrap 3.3.5
  • AngularJS 1.2.10

References

Server Configuration

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();

Project Fee

	<tr>
		<td><b>Total</b></td>
		<td><b>&yen; 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

About

A little project base on Laravel 4.2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published