生活信息查询项目, 目前登录用户进行支持天气和物流查询并对天气物流动态进行邮件更新提醒
支持功能:
1.用户系统
支持用户注册登录, 支持使用邮箱注册帐号, 支持邮箱验证用户和重置密码
2.天气系统
登录用户查询天气, 并记录到查询列表, 天气数据定时更新, 支持设置邮箱定时收取天气信息
3.物流系统
登录用户支持物流查询, 并记录到查询列表, 物流是数据定时更新, 支持设置邮箱定时收取物流信息
-
docker的应用
docker image的搭建和docker-compse的使用, 快速搭建和部署项目
-
composer扩展包的开发
引入个人开发的查询天气和物流的composer扩展包进行天气和物流的查询
-
redis消息队列
使用消息队列进行邮件通知的异步发送
-
定时任务
使用crontab配合laravel command进行定时更新数据和发送邮件通知
-
redis数据持久化
redis配置aof方式进行数据的持久化, 防止数据断电丢失
-
webpack前端打包
编写scss和js并使用webpack编译和打包处理, 增强前端的可维护性和高效性
-
https加密
网站全站使用https加密,访问http自动定向https网站
前提:
- docker
- docker-compose
- crontab
https://github.com/laraws/ConvenienceLife.git
cd ConvenienceLife
cp .env.example .env
vim .env
配置env中的database, 根据自己的需要配置数据库的相关信息, 这些信息在docker环境构建的时候将自动配置到docker容器中
DB_CONNECTION=mysql
DB_HOST=
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
DB_PORT_DOCKER=3306
DB_DATABASE_DOCKER=
DB_USERNAME_DOCKER=
DB_PASSWORD_DOCKER=
REDIS_HOST=redis
REDIS_PASSWORD=
REDIS_PORT=6379
REDIS_HOST_DOCKER=redis
REDIS_PASSWORD_DOCKER=
REDIS_PORT_DOCKER=6379
MAIL_MAILER=smtp
MAIL_HOST=
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=
填入自己的物流和天气密钥
物流使用极速数据: https://www.jisuapi.com/api/express/
天气使用高德数据:https://console.amap.com/dev
WEATHER_API_KEY=
EXPRESS_API_KEY=
docker-compose up -d
docker-compose exec app php artisan key:generate
docker-compose exec db bash
mysql -u root -p
show databases;
GRANT ALL ON conveniencelife.* TO 'laraveluser'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
EXIT;
docker-compose exec app php artisan migrate
docker-compose exec app php artisan db:seed
由于docker到crontab支持存在问题, 本项目使用宿主机的crontab来管理docker项目中的定时任务
$ cd ./docker-config/php/crontab
$ cat host-cron
# 复制host-cron内的定时任务数据
$ crontab -e
# 粘贴数据到crontab 编辑内容中,并保存
项目定时任务配置完成
-
提出issue
-
发送邮件to: [email protected]