您需要将作业提交到三个地方:1. Learning Central; 2. GitLab; 3. OpenShift.
• 提交到 Learning Central:
•
•
•
•
•
• *将STUDENT_NO替换为您的学生编号,且不带前导“ c”,例如1234567,而不是c1234567
•
• 需要通过 Learning Central提交以下文件:
• ‣对于1.2的“Website files in a single zip file”:
• ✴这必须是一个.zip归档文件,其中应包含的完整源代码。并具有与在OpenShift服务器上部署所需的结构相同的结构,包括所有必需的资料,例如图像,需求/依赖项等。但是,此.zip归档文件 不应有任何git,虚拟环境或字节码文件或文件夹,例如 .git文件夹或.pyc文件。
• ‣对于1.3的“Plain README text file”,必须包括:
• 您的网站在OpenShift服务器上的URL;
• 您的学生编号;
• 在GitLab上的存储库中执行的最后一次提交的完整(40个字符)CHECKSUM。 这将用于检查存储库中最新提交/更改的时间戳。 注意:提交截止日期后,不允许更改!
• Learning Central提供了README.txt文件的模板。
• 提交给GitLab(https://git.cardiff.ac.uk/)
• 与Martin Chorley和Natasha Edwards共享您的GitLab存储库,如下所示:
• ‣ 进入: Settings > Members > Select members to invite
• ‣ 搜索 Martin Chorley (user name: scm2mjc)
• ‣ 选择角色权限: Maintainer > Add to project …
• ‣ 对Natasha Edwards(用户名:scmne)重复上述步骤,确保将角色权限也设置为“Maintainer”。
• 提交给 OpenShift (https://openshift.cs.cf.ac.uk/)
• 按照实验表中给出的说明并在其中一个实践环节中进行演示,在OpenShift上部署您的网站,并确保在首页指定的截止日期之前完成此操作。
•
• 规则,限制和进一步一般评论
• -违反上述提交说明(包括提交的文件数量和类型)将导致成绩丢失,如上文和本文档的“Assessment Criteria and Marks Allocation’部分所述。
• -工作人员保留邀请学生参加会议讨论提交作业的权利。
• -如果您遇到令人沮丧的情况而无法按时提交,则应遵循学校的“引起情况”程序(有关更多详细信息,请参阅《学生手册》,可在Leaning Central上找到)。
• -您必须遵守加的夫大学《学术诚信学生指南》。 如果您使用任何外部资源,则需要正确引用这些资源(例如,作为代码中的嵌入式注释)。 您还应该阅读Leaning Central上提供的学校电子课程提交政策。
• 成果评估
• 3.设计和使用关系数据库
• 4.开发安全的Web应用程序
• 5.严格评估软件项目中安全性,质量和可用性的作用
• 评估标准
• 将根据本文档“评估标准和标记分配”部分中指定的标准授予分数。
• 要求
• 您以自由网络开发人员的身份工作,需要开发和部署个人网络博客,以展示您的能力和专业知识(例如技术技能,以前的工作经验等)-选择哪种内容取决于您自己 ,但请确保您涵盖了这些范围的合理范围)。 至少其中一个内容应该是有关软件项目中安全性,质量和可用性的反思性职位。
•
• 您的网络博客应允许访问者浏览您发布的帖子(文章),获取有关内容和专业知识的信息,对您的帖子发表评论,并使用电子邮件和社交媒体与您联系。 预计您将通过在模块中完成的Flask实验室练习的基础上来开发此网站-使用您在实验室中工作的代码作为博客的起点。
•
• 网站的结构和功能
• 您的网站应具有许多页面,以向访问者显示内容。 每个网页应有:
• -header 带有导航栏,使访问者可以访问所有页面;
• -footer包含指向其他信息的相关链接,例如 联系方式,隐私政策,免责声明等;
• -您还可以包括一个侧边栏,以显示您认为相关的任何信息,并使您的网站更具吸引力和可用性。
• 更具体地说,您网站的组织和功能应如下:
• Home page应允许访问者:
• • 在页面的主要内容部分中查看最重要或最新的博客帖子(由您决定要显示的帖子);
• • 单击帖子(帖子的标题或图片),以便访问者查看有关所选帖子的详细信息;
• • 访问登录或注册页面(请参阅后面有关这些页面的内容和功能的说明);
• • 如果已登录,请在顶部导航栏中查看个性化问候语,例如 登录客户的名字会被打招呼(例如“ Hello,Jane!”)。 未注册或登录的访客将看到“’Hello, Guest!”消息。
• 2 .应该使用单个博客帖子页面来显示有关特定帖子的详细信息,并允许访问者发表评论。 这些帖子中至少有一个应该是关于软件项目中安全性,质量和可用性的反思性帖子。
• 3.“所有帖子”页面应显示您曾经创建的所有帖子,并且应该:
• •允许访问者访问他们想要查看的任何帖子。
• •能够按升序或降序对帖子进行排序。
• 注册页面应:
• •要求希望注册的访问者提供其名字和姓氏,电子邮件地址(他们将用于登录)和密码。
• •简单检查访问者是否以预期格式输入其电子邮件地址,例如 my_email@some_domain.com。
• 注意:这应该是对电子邮件地址格式的简单检查-无需检查此电子邮件地址是否实际存在。
• –成功注册后,网站应显示一条消息通知用户并重定向到主页。
• –如果注册失败,则应通知用户,并且不会将其重定向到任何其他页面。
• •通知访问者注册成功; 或者如果注册有问题,则显示错误消息。
• 5.登录页面,该页面应:
• •允许注册的访问者登录,如果成功,则将访问者重定向到主页。
• •如果访问者的登录有问题,则显示错误消息。 注意:请确保错误消息不会危害您网站的安全。
• •允许登录用户注销。
•
• 您可能还需要开发更高级的功能以获得更多的分数:
• •搜索引擎,以允许访问者在您的网站上找到信息,例如 根据帖子的标题或内容进行搜索;
• •用户评估每个帖子的能力,例如 使用“喜欢”或“星级”选项。 然后应更新并显示每个帖子的评分。
• •用户具有标记某些帖子的能力,之后,已标记项目的列表将存储在用户的帐户中,并且用户能够访问该列表以及从该列表中删除某些已标记项目。
•
• 网站质量
• 总体而言,该网站应在美学上令人愉悦,例如 显示带有网站标题的引人注目的横幅,以漂亮的表格形式显示内容,提供直观的导航,并具有一致的“外观”。
• 使用的技术
• 为了演示您使用Flask微型Web框架和模块中引入的其他各种Web技术的能力,您的Web博客应使用以下内容:
• •带有指向网站不同部分的链接的导航菜单(例如,“转到首页”,“查看所有帖子”,“注册”,“登录”等)
• •列表和表格以适当显示内容。
• •CSS样式表,包括用于定义Web博客外观的外部CSS文件。
• •链接到外部网络资源(例如,通过锚元素),例如,链接到您的社交媒体帐户。
• •维护博客内容的MySQL数据库。
• 您应该在适当的时候使用JavaScript(if/ when/ where),例如:在访问者成功(或失败)注册或登录时向访问者提供反馈。
• 重要条件
• •网站上使用的软件工具和技术是HTML,CSS,MySQL,JavaScript和Python / Flask。
• •最好不要使用库,API等,最终代码必须由您编写。 如果您使用外部库,API等,则必须提供使用方式和使用位置的说明,并在代码和单独的文件(例如README.md)中提供完整的引用。
• •允许使用您在练习本模块时开发的代码。
• •您必须使用基于学校的系统和服务器。 不允许使用外部服务。
• •由于假定网站界面是不言自明的,因此无需制作用户指南。
•
•
• 附录A:最后一次提交的校验和Checksum(在GitLab上)
• 要访问上一次提交的校验和,请转到项目的主页,然后单击8个字符的文本旁边的按钮-见图1。这将复制完整的校验和Checksum(即40个字符)。 将复制的文本粘贴到您的自述文件中。
•