首页 > 其他分享 >COM3504/COM6504 智能网络

COM3504/COM6504 智能网络

时间:2023-05-02 10:23:02浏览次数:34  
标签:user sightings should will 智能 COM3504 sighting COM6504 must

COM3504
COM3504/COM6504 The Intelligent Web Assignment 2022-2023

Deadline: Fri, 19 May 2023 3pm

Handin: zip file via Blackboard (see Section 8 - Submissions).

1. Introduction

This assignment will test your ability to create a web application using the methods and techniques taught in the module.

It will test your understanding of the various components of a client-server architecture, as well as your coding skills in Node.JS.

This is a group project and groups are assigned by the module leaders. The work you submit must be your own work and not plagiarised. You must NOT use any libraries that have not been explicitly recommended during the lectures, as we will regard this as use of unfair means.

2. Scenario

You will develop a “Bird Watching” progressive web application that provides users (typically bird watchers) with means to record and view Bird sightings and also to help with identification. You will need to develop this as a web application, with the supporting server infrastructure. Using the website, the users can add new sightings, view sightings and also comment on identification.

The app should allow access to a sorted list of bird sightings. The system will allow:

● Viewing sightings sorted (at least) by date/time seen, and whether identification is finished.

Sorting by distance away is a ‘stretch’ goal (i.e. nice to have). ● The addition of a new sighting

o Note that once added, most of the sighting will not be modifiable o Each sighting contains (at least)

date and time seen

location (i.e. geolocation)

a (short) description of the sighting

an identification (which may be unknown or uncertain) - this can be updated:

● the original user who sighted the bird needs to be happy with a suggestion and can update the sighting to show the identification

● The identification should be linked to information obtained from the DBPedia knowledge graph. The information includes a common name/scientific name of the bird, an english language description and a URI (which should link to the DBPedia page describing the bird).

the user’s ‘nickname’; as a string - there is no need to implement a login system o A chat/comment linked to each sighting which contains:

comments on the sighting, i.e. discussion and suggestions about what the bird is When a new sighting is added, it is accessible to all users (i.e. you do not need to implement a login

system or a set of privacy rules – when the user enters the site they will see all the sightings).

3. Design

In the sketches below you can see some initial ‘back of an envelope’ sketches of a list of sightings (left) and individual sighting detail (right). The design is left to you - please improve on the sketches below. Note that you will need to add/amend the detail on these sketches and also that you will need to add new sketches for (at least) adding a new sighting and updating the identification status. A good approach would be for the sighting detail interface to also work for adding new sightings and updating the identification.

When clicking on a sighting in the list, the individual details will be shown. For the original user who reported the sighting, this will allow them to update the ‘identification’ detail. The other details are fixed after creation, but it must be possible to chat (in real time) about the sighting. This chat is public to everyone who views the sighting. The original user might also use the chat to add more detail/s.

4. Components

The following is a list of components that must be included.

4.1 The Web Application

● The web application must:

○ be progressive

○ support online and offline interaction

○ be implemented using EJS and JavaScript in a node.JS framework.

● The web application can

○ be multimodal (i.e. provide access via multiple devices, such as mobile phone, laptop etc).

FUNCTIONALITIES

● The web application must allow creating new sightings with associated details - description, date/time, user nickname, location (which should come from geolocation or optionally selecting from a map) and an associated image (photo)

● The web application must allow viewing all sightings with associated details - description, date/time, user nickname, location (which should come from geolocation or optionally selecting from a map) and an associated image (photo)

● Sightings can be sorted by most recent and (stretch goal) by distance away (as the ‘crow flies’)

● A sighting can be selected for more detail/chat by clicking on it.

● When online, the details must be sent to the database

○ Images likely need to be transformed to base 64. Images are uploaded to the server and stored in the MongoDB database. The images can be uploaded from the file system or can be referenced using a URL.

● When the user is offline, you must allow changes to be stored locally (for uploading later), including:

○ it must be possible to create (at least) one new sighting in the browser (indexedDB)

○ It is strongly preferred for more than one (new) sighting to be held offline in the browser

○ it must be possible to add chat messages to sightings the user has newly and previously

created

○ N.B. You must not hold all sighting details offline, since only a selection will be relevant to

each user. You should keep a local copy of the list of sightings, but not all the details.

● When the device is online again, you need to:

○ firstly upload local changes to the server - this should be a safe operation and should not need to consider any server changes

Note that after this, you should be able to safely reload from the server

○ retrieve updates (i.e since last synced) to the list of sightings (retrieving everything from scratch is a weaker solution). This should be new sightings and (only) changes to the identification of sightings.

○ you should also reload any chat messages related to the user’s created sightings

○ As a stretch goal, you should notify the user of new messages in their chats (i.e. for

sightings they created).

How might you do this?

3

 

● The sighting creation can be implemented as a form where you provide text, a photo, etc.. The photo should be (at least) by uploading through an HTML5 form or (better) by taking a photo from the web camera - or phone camera (if you choose this option).

N.B. It is not a requirement to create a mobile web app, but you may wish to, since geolocation, camera and testing offline usage can be better on a mobile device. Note that Chrome allows you to choose to view web pages as if from a mobile device - choose developer tools then the icon

highlighted here:

Also note that Chrome (by default) insists on HTTPS for geolocation except for localhost. You will be shown in the lab how to bypass this restriction for specific hosts, including for mobile Chrome usage.

4.2 The Chat messages

The chat part of the application must:

○ be progressive

○ support online and offline interaction

○ be implemented using socket.io in a node.JS framework

○ be non blocking

The chat application can

○ be multimodal (i.e. provide access via multiple devices, such as mobile phone, laptop etc).

FUNCTIONALITIES

● When a user selects a sighting, the (live) chat must appear (likely at the bottom)

● Any new message must be visualised in real time, as it becomes available

● The user must be able to add new message/s which will appear in real time on other user’s chats

(when they have it open). As a stretch goal, users should be notified if someone has added a

message to a sighting they created.

● When online, these should update in real time.

● When offline, messages can be added to sightings that the user created, and the chat will ‘sync

up’ when online with new messages being shown and made visible to everyone viewing the

sighting detail

● Since messages are linked to a specific sighting (eventually), you might choose to store the chat

within the sighting document/object in MongoDB

● Note that messages cannot currently be edited or deleted

How might you do this?

4

 

You will likely ‘broadcast’ (from the server) any new chat messages with a ‘sighting id’, so the web app can choose which messages it needs to update - i.e. where the user has a sighting open - and/or should be notified since they created the sighting.

4.3 The server

● The server must:

○ be implemented using NodeJS+Express

○ must support the chat system

○ must connect to MongoDB.

4.4 Data Storage and retrieval

● Data storage must be implemented using

○ MongoDB as network DB

○ indexedDB as browser storage

 WX:codehelp

标签:user,sightings,should,will,智能,COM3504,sighting,COM6504,must
From: https://www.cnblogs.com/mondayw/p/17367391.html

相关文章

  • 智能家居管理系统
    源码及演示地址:演示地址:https://www.wchime.xyz:8080/#/后端代码:https://gitee.com/mom925/device-web-api前端代码:https://gitee.com/mom925/device-web-vue模拟中控代码:https://gitee.com/mom925/center-control演示登录账号:......
  • 将设计思维应用于人工智能
    选择正确的项目管理方法对于您的项目开发至关重要。它将帮助您避免错误,加速整个过程,并支持发现目标群体的问题。只有在深入了解目标群体的需求后,您才能制定解决他们问题的解决方案。人工智能正在成为我们生活中更大、更重要的一部分。基于人工智能的产品和服务将无处不在,从自动驾......
  • COMP30024人工智能
    ProjectPartBPlayingtheGameCOMP30024ArtificialIntelligenceApril20231OverviewInthissecondpartoftheproject,wewillplaythefulltwo-playerversionofInfexion.Beforeyoureadthisspecificationyoushouldre-readthe‘RulesfortheGame......
  • 智能工单系统有什么作用?
    智能工单系统提供了一套完整的用户接待和内部协同沟通系统,实现从创建到流转,从多终端处理到统一管理。不仅如此,智能工单系统还支持多系统联动,整合所有的服务和数据。在快速响应和处理用户问题时,可以无缝协同,包括事件流程、问题流程、变更流程等,兼顾企业的服务效率和流程控制。智能......
  • 人工智能心得体会
    人工智能是一门十分有发展前景的同时对我来说具有挑战性的科学,想要学好这门课程必须要懂得计算机知识以及基本的算法认识。人工智能研究的主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。虽然这个课程中上机题并不完全是自己独立完成的,在网上找到了一些代码,学......
  • 如何基于AI智能技术打造智慧工厂大数据可视化管理平台​
    一、行业背景随着物联网、视频监控和人工智能等技术的快速发展和应用,利用先进技术加强信息管理和服务,是现代工厂信息化发展的新趋势。目前是传统工厂向智慧工厂转型的关键阶段,各工厂急需采用融合智能化和信息化的技术,打造集智能管理、智能生产、智能服务为一体的大数据可视化管理平......
  • 五一临近,各景区该如何做好视频大数据智能预警工作?​
    一、行业背景五一假期临近,旅游热度不断升温,各大景区订单量持续暴增。值此旅游市场恢复发展的关键时期,“五一”旅游热既是各地争取更大流量的机遇,也是一场实打实的考验。面对大量的人流、车流聚集,各类需求涌现,景区安防监控系统必须得到充分利用和规划,做好视频大数据智能预警工作,助力......
  • 【人工智能AI】五、NoSQL 应用实践《NoSQL 企业级基础入门与进阶实战》
    帮我写一篇介绍NoSQL的技术文章,文章的标题是《五、NoSQL应用实践》,不少于3000字。目录需要细化到三级目录,使用markdown格式。这篇文章的大的目录是:五、NoSQL应用实践5.1NoSQL实时数据分析5.2NoSQL分布式系统5.3NoSQL实时推荐系统5.4本章总结五、NoSQL应用实践NoSQL(N......
  • 【人工智能 AI ChatGPT】使用 ChatGPT 每天赚取高达 500 元的 10 种方法
    目录利用ChatGPT的高级人工智能功能,用户可以探索10种通过ChatGPT赚钱的方法Affiliatemarketing  联盟营销Blogging 写博客Contentediting 内容编辑Conductresearch 进行研究Virtualinstructor 虚拟讲师Buildsoftware 构建软件Writinglyricsformusic 为音乐......
  • # 快讯 | 整数智能携手格拉斯哥大学举办AI圆桌分享会
    算法、算力和数据作为人工智能发展的三大支柱,而获取高质量的数据已经成为人工智能工程化进程中的难题。如何能够寻找到与算法训练完美适配的数据集,在数据生产过程中有哪些常见的痛点?5月12日,由整数智能与格拉斯哥大学合作举办了一场人工智能领域的开放性讲座。曾参与编辑《人工智能......