选择兴趣圈为最终选题
利用Docker进行打包
在终端运行:
docker pull happyweb/interests-room
docker run -p 3000:3000 happyweb/interests-room
在浏览器输入 localhost:3000
即可
- 使用next.js搭建react,利用next.js进行全栈开发(原因:在课下我对比了多种方法,由于next.js搭建方便快速,无需过多配置即可进行开发,最终决定选择next.js进行开发,并自行学习了next.js)
- 利用mongoDB作为数据库来保存管理数据
- 使用bcryptjs来hash用户密码,防止数据库密码泄露等安全问题
- 使用tailwind来管理css,原因:
- 学习tailwind中的各种功能
- 开发项目并非非常庞大,选择tailwind可以快速搭建
- 利用auth.js来处理登录
- 注册功能:允许用户注册自己的账号
- 数据库:利用mongodb搭建数据库
- redirect: 用户在未登录时只能浏览homepage,aboutpage无法浏览interest page,如果用户在未登录时点击导航栏中的interest page将会被redirect到login page,同样如果用户在login page中登录后会被redirect到home page,如果用户在sign up后(注册)将会被redirect到login page
- 用户在login, sign up过程中如果密码错误或者注册了已有的用户名会出现错误信息(prompt)
- loading: 在加载数据的时候会显示loading page 可以在interest page中看到