thomas-claireau / snowtricks
项目包管理器
Requires
- php: ^7.1.3
- ext-ctype: *
- ext-iconv: *
- cocur/slugify: 3.1
- doctrine/doctrine-migrations-bundle: ^2.0
- doctrine/migrations: 2.1
- fzaninotto/faker: ^1.9
- knplabs/knp-paginator-bundle: 4.1.1
- liip/imagine-bundle: 2.0.0
- sensio/framework-extra-bundle: ^5.1
- symfony/apache-pack: dev-master
- symfony/asset: 4.2.*
- symfony/cache: 4.2.12
- symfony/console: 4.2.*
- symfony/dotenv: 4.2.*
- symfony/expression-language: 4.2.*
- symfony/flex: ^1.3.1
- symfony/form: 4.2.*
- symfony/framework-bundle: 4.2.*
- symfony/http-foundation: 4.2.12
- symfony/monolog-bundle: ^3.1
- symfony/orm-pack: *
- symfony/process: 4.2.*
- symfony/security-bundle: 4.2.*
- symfony/serializer-pack: *
- symfony/swiftmailer-bundle: ^3.1
- symfony/translation: 4.2.*
- symfony/twig-bundle: 4.2.*
- symfony/validator: 4.2.*
- symfony/web-link: 4.2.*
- symfony/webpack-encore-bundle: ^1.7
- symfony/yaml: 4.2.*
- vich/uploader-bundle: 1.11.0
Requires (Dev)
- doctrine/doctrine-fixtures-bundle: 3.0.2
- symfony/debug-pack: *
- symfony/maker-bundle: ^1.0
- symfony/phpunit-bridge: ^5.1@dev
- symfony/profiler-pack: *
- symfony/test-pack: *
- symfony/web-server-bundle: 4.2.*
Conflicts
This package is auto-updated.
Last update: 2024-09-12 21:40:42 UTC
README
项目安装
通过 Composer
composer create-project thomas-claireau/snowtricks:dev-master
如果您直接下载项目(或使用 git clone),请在项目根目录下执行 composer install。
然后安装项目的前端依赖。在项目根目录下
npm install
注意
数据库访问
项目在 Packagist 上提供时没有数据库。这意味着您需要在 .env 文件中的 DATABASE_URL 部分添加您的配置。
SQL 注入和项目结构
为了获得与我的项目类似的数据库结构,我还附带了在 ~src/Migrations/ 文件夹中使用的迁移版本。您可以通过在项目根目录下执行以下命令来重新创建数据库:
php bin/console doctrine:migrations:migrate
创建数据库后,您还可以通过以下命令注入数据集:
php bin/console doctrine:fixtures:load
启动项目
在项目根目录下
- 要启动开发服务器,请执行
npm run dev-server。 - 要启动 symfony 服务器,请执行
php bin/console server:run。
生产环境网站
要查看生产环境网站的版本,请访问以下 网址。
邮件发送
如果您想使用邮件服务器发送邮件,您可以在项目根目录下的 .env 文件中配置它,在 MAILER_URL 部分。
请注意,您也可以使用 maildev 来模拟邮件发送。
背景
Jimmy Sweat 是一位有雄心的企业家,热衷于滑雪板。他的目标是创建一个协作网站,向公众介绍这项运动并帮助学习技巧(tricks)。
他希望利用来自网络的内容来开发丰富且能吸引用户的内容。随后,Jimmy 希望通过生成的内容流量来发展一个与滑雪板品牌建立联系的业务。
对于这个项目,我们将专注于为 Jimmy 创建技术网站。
需求描述
您负责开发满足 Jimmy 需求的网站。因此,您必须实现以下功能:
- 一个滑雪板技巧目录。您可以参考维基百科上的技巧列表。请只整合10个技巧,其余将由网友填写;
- 技巧的管理(创建、修改、查看);
- 所有技巧共享的讨论空间。
为了实现这些功能,您必须创建以下页面:
- 首页,其中包含技巧列表;
- 创建新技巧的页面;
- 修改技巧的页面;
- 展示一个技巧的页面(包含围绕一个技巧的共享讨论空间)。
注意事项
页面 URL 必须能够快速理解页面内容,并便于自然搜索优化。
除非用于初始数据,否则禁止使用第三方捆绑包,您将使用至今为止获得的技能以及官方文档来满足给定的目标。
网站设计完全自由,但请注意遵守提供的线框图以符合页面布局。不过,网站需要同时在电脑和移动设备(手机、平板、大屏手机等)上可浏览。
首先,您需要编写所有的问题/工单,以便有条不紊地分割工作并确保您与导师充分理解客户需求。问题/工单将写入您预先创建的GitHub存储库。
所有滑雪板图示必须在应用初始化时存在。您将使用外部包来加载数据。
✔️ 项目已验证
评估者评论
- 对学生完成的工作的整体评估(如项目需要修改,则具体说明未验证的准则)
托马斯生产的可交付成果质量非常高。代码整洁,注释良好,期望的功能都在,还有一些额外的功能很受赞赏。
在口头陈述方面,每个部分分配的时间没有得到遵守。托马斯花费了过多的时间进行演示,这使得一些点如任务估计或单元测试执行在问答环节被提及,而它们本应包含在最初的演示中。
- 根据项目准则对可交付成果进行评估
可交付成果非常出色。模型、控制器和存储库的管理都很好。所有Symfony功能都得到了恰当和相关的使用。
Git部分很齐全,这个版本控制工具使用得很好。
遗憾的是,单元测试只是因为“必须有”而存在,而不是有真正的、有意义的单元测试。
- 对口头陈述的评估及其符合期望的程度
托马斯在演示应用程序上花费了过多的时间,涉及了一些不必要的细节(忘记密码等)。这给其他两个部分带来了不利影响,因为它们没有得到详尽的处理。
然而,这些点在问答环节中已经得到了讨论,托马斯每次都给出了恰当的回答。
- 对学生在新技能方面的评估
Symfony Doctrine Codacy 单元测试 5. 优点(至少1个)
GitHub功能的深入使用 代码非常整洁且文档良好 使用存储库分离代码的不同部分 良好的Ajax管理 6. 改进方向(至少1个)
单元测试不够有意义 演示的每个部分分配的时间没有得到遵守