加勒比久久综合,国产精品伦一区二区,66精品视频在线观看,一区二区电影

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代做 COMP33 Modern Technologies程序語言代做

時間:2023-12-02  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



COMP3**2 Modern Technologies on World Wide Web
Assignment Four
Total 12 points
Deadline: 23:59 December 3, 2023
Overview
Write an express.js program and name it index.js. This program provides the API to get data about
big cities from a MongoDB server.
Objectives
1. A learning activity to support ILO 1 and ILO 2.
2. To practice how to use Node, Express, MongoDB, and Mongoose to create a simple REST API.
Specification
Assume you are using the MongoDB server running on the course’s node.js docker container with
the service name mongodb listening to the default port 27017.
The database is named "bigcities" and it contains a collection called "cities". The collection consists
of 34800 cities with a population of at least 10000. The data for this dataset is sourced from the
GeoNames geographical database (https://www.geonames.org/about.html). Each record in the
collection consists of 9 fields: _id, Name, “ASCII Name”, “ISO Alpha-2”, “ISO Name EN”, Population,
Timezone, “Modification date”, and Coordinates.
_id Name ASCII Name ISO Alpha-2 ISO Name EN
The id of record
in Geonames
database
The name of the
city (in UTF8)
The name of
the city (in
ASCII)
The ISO 3166
Alpha-2 country
code
The English
name of the
Alpha-2 code
Example 1 3862981 Cañada de Gómez Canada de
Gomez
AR Argentina
Example 2 1819729 Hong Kong Hong Kong HK Hong Kong,
China
Population Timezone Modification
date
Coordinates
The population
of the city
The IANA timezone
ID
The date of
last
modification
The latitude and
longitude values
of the city
Example 1 36000 America/Argentina/
Cordoba
2020-06-10 -**.81636,
-61.39493
Example 2 7482500 Asia/Hong Kong 202**09-09 22.278**,
114.17469
Download the big cities dataset (bigcities.csv) from the course’s Moodle site. Import the data to the
bigcities database for the tests.
You will be using the provided framework for developing your program. You can download the
template file (template.txt) from the course’s Moodle site.
index.js
const express = require('express')
const app = express();
/* Implement the logic here */
// error handler
app.use(function(err, req, res, next) {
 res.status(err.status || 500);
 res.json({'error': err.message});
});
app.listen(3000, () => {
 console.log('Weather app listening on port 8000!')
});
TASK A
Use the command mongoimport to import the CSV file to the MongoDB server. Here are the steps to
import the data to your docker’s mongodb server.
1. Use Windows Explorer or Mac Finder to go to the data/db folder (which is inside the Nodedev folder).
2. Copy the bigcities.csv file there.
3. Access the docker desktop and open a terminal for the c33**2-mongo container.
4. In the terminal, type this command (in one line):
mongoimport -d=bigcities -c=cities --type=csv --headerline --columnsHaveTypes --file=bigcities.csv
Write the code to set up a connection to the MongoDB server using Mongoose.
Use the following schema to access the database.
Schema {
 Name: String,
 'ASCII Name': String,
 'ISO Alpha-2': String,
 'ISO Name EN': String,
 Population: Number,
 Timezone: String,
 'Modification date': String,
 Coordinates: String
}
Write the code that monitors the database connection and terminates the program if the connection
to the database is lost.
TASK B
Write a routing endpoint to handle all GET requests to the URL
http://localhost:3000/cities/v1/all?gte=xxxxx&lte=yyyyy
for retrieving the entire big cities dataset or a portion of the dataset based on the population range
defined in the query string. The server should respond with a JSON message and an appropriate
HTTP status code that reflects the completion status of the GET request to the client.
Situations:
1. GET /cities/v1/all
When the GET request is made without a query string,
the program retrieves the entire dataset from the
database. It then converts the Coordinates field to an
object with two properties: ‘lat’ and ‘lng’. These
properties represent the latitude and longitude values
(both of type Number) of the city. The program returns
the entire dataset in JSON format to the client with the
HTTP status code 200. The returned JSON message is an
array that contains all the documents, ordered by the _id
field.
2. GET /cities/v1/all?gte=xxxxx
GET /cites/v1/all?lte=yyyyy
GET /cities/v1/all?gte=xxxxx&lte=yyyyy
When the GET request includes a query string with the ‘gte’ and/or ‘lte’ parameters, the
program retrieves the dataset from the database based on the population range specified by the
query string. ‘gte’ stands for  and ‘lte’ stands for . For example, the program retrieves all cities
with a population  one million for the parameter gte=1000000. Another example, the program
retrieves all cities with a population between 500000  x  1000000 for the parameters
gte=500000&lte=1000000. After retrieving the dataset, the program should convert the
Coordinates field to an object and sort the dataset in descending order of population. The
program then returns the dataset in JSON format to the client with HTTP status code 200.
The program should return a JSON string '{"error":"No record for this population
range"}' with the HTTP status code 404 when it could not find any documents matching the
limit defined by the parameters, e.g., lte=1000&gte=10000.
3. When the program experiences an error (e.g., database issue), it returns the HTTP status code
500 with a JSON string '{"error":$message}', where $message stands for the error message
of that error event.
TASK C
Create a routing endpoint that handles all GET requests to the URLs
http://localhost:3000/cities/v1/alpha
http://localhost:3000/cities/v1/alpha/{code}
for retrieving all the alpha codes in the dataset or all the documents in the dataset that match a
specified alpha code in the URL path. The server should respond with a JSON message and the
appropriate HTTP status code to indicate the completion status of the GET request.
Situations:
1. /cities/v1/alpha
With this GET request, the program searches the database to find
all unique alpha-2 codes in the dataset. For each alpha-2 code, the
program creates an object with two properties: 'code' and 'name',
which contain the values from the ISO Alpha-2 and ISO Name EN
fields, respectively. The program then groups all alpha-2 code
objects into an array and sorts them in ascending order based on
the alpha-2 codes. Finally, the program returns this array object as
a JSON message to the client with a status code of 200.
2. /cities/v1/alpha/{code}
With this GET request, the program searches the database to
retrieve all documents that match the specified alpha code in the
path. For example, if the requested path is '/cities/v1/alpha/HK', the
program will find all documents with the 'HK' alpha-2 code. For each
matched document, the program retrieves the following fields:
“ASCII Name”, Population, Timezone, and Coordinates. It converts
the Coordinates field to an object and groups all matched
documents in descending order based on population. The program
then returns this array object as a JSON message to the client with
status code 200.
The program should return a JSON string ‘{“error”:”No record for this alpha code”}’
with the HTTP status code 404 when it could not find any documents matching the requested
alpha code.
3. When the program experiences an error (e.g., database issue), it returns the HTTP status code
500 with a JSON string ‘{“error”:$message}’, where $message stands for the error message
of that error event.
TASK D
Create a routing endpoint that handles all GET requests to the URLs
http://localhost:3000/cities/v1/region
http://localhost:3000/cities/v1/region/{region}
for retrieving all the regions in the dataset or all the documents in the dataset that match a specified
region in the URL path. In response, the server returns a JSON message and appropriate HTTP status
code to the client, which reflects the completion status of the GET request.
Situations:
1. /cities/v1/region
With this request, the program retrieves the Timezone field of all
documents and extracts the first component of the Timezone field to be
the region. For example, if the Timezone value is
"America/Argentina/Cordoba", the program will extract the region as
"America". The program then returns all unique regions in the dataset as a
JSON message to the client with the HTTP status code 200. The JSON
message lists all regions in alphabetical order.
2. /cities/v1/region/{region}
With this GET request, the program searches the database
to retrieve all documents that have the first component of
the Timezone field matches the specified region in the
URL path. For example, if the requested path is
'/cities/v1/region/Atlantic', the program will find 72
documents. For each matched document, the program
retrieves only the following fields: “ASCII Name”, “ISO
Alpha-2”, “ISO Name EN”, Population, Timezone, and
Coordinates. It converts the Coordinates field to an object
and groups all matched documents in descending order
based on population. The program then returns this array
object as a JSON message to the client with status code
200.
The program should return a JSON string ‘{“error”:”No record for this region”}’ with
the HTTP status code 404 when it could not find any documents matching the requested region.
3. When the program experiences an error (e.g., database issue), it returns the HTTP status code
500 with a JSON string ‘{“error”:$message}’, where $message stands for the error message
of that error event.
TASK E
Create a routing endpoint that handles all GET requests to the URL
http://localhost:3000/cities/v1/{city}?partial=true&alpha=xx&region=yyyy&sort=alpha|pop
ulation
for retrieving all the documents in the dataset that match the specified city in the URL path. In
response, the server returns a JSON message and appropriate HTTP status code to the client, which
reflects the completion status of the GET request.
Situations:
1. /cities/v1/{city}
With this GET request, the program retrieves all documents in the database that have the “ASCII
Name” field exactly matches with the specified city name in the URL path. For example, when
the city name is “Logan”, the program returns only one document; whereas for the city name
“Paris”, it returns 4 matched documents. For each matched document, the program retrieves
the following fields only: _id, “ASCII Name”, “ISO Alpha-2”, “ISO Name EN”, Population,
Timezone, and Coordinates. It converts the Coordinates field to an object and groups all
matched documents in ascending order based on the _id field. The program then returns this
array object as a JSON message to the client with status code 200.
2. /cities/v1/{city}?partial=true
When a query string is provided with the parameter
“partial=true”, the program finds all documents where the
“ASCII Name” field partially matches with the specified city
name in the URL path. For example, when the city name is
“Logan”, the program returns 6 matched documents that
have the string “Logan” in their “ASCII Name” fields. If the
parameter “partial” has a value other than “true”, the
program should ignore this parameter and apply the exactly
match as the searching criteria.
3. /cities/v1/{city}?alpha=xx
/cities/v1/{city}?region=yyyy
When the query string contains the “alpha” parameter, the
program restricts the search to documents under this alpha
code for the exactly or partially matched of the city name
(based on the partial parameter). For example, if a search is performed on the city name "Logan"
with partial=true and alpha=AU, only one matched city is found.
When the query string contains the “region” parameter, the program restricts the search to
documents under this region for the exactly or partially matched of the city name. For example,
when searching for the city name “Logan” with partial=true and region=America, five matched
cities are located.
If both the alpha and region parameters are provided, the program should ignore the region
parameter as the alpha parameter should have a higher priority.
4. /cities/v1/{city}?sort=alpha|population
If the sort parameter is not included, the default order will be based on the ascending order of
the _id field. If the sort parameter is included with the value “alpha”, all returned results will be
sorted in ascending order of the alpha code. If the sort parameter is included with the value
“population”, all returned results will be sorted in the descending order of population.
Otherwise, ignore other values and use the default order.
5. The program should return a JSON string ‘{“error”:”No record for this city name”}’
with the HTTP status code 404 when it could not find any documents matching the requested
city name with the parameters.
6. When the program experiences an error (e.g., database issue), it returns the HTTP status code
500 with a JSON string ‘{“error”:$message}’, where $message stands for the error message
of that error event.
TASK F
Write a routing endpoint to intercept all other request types and paths, which are not defined in
previous tasks. Return a JSON string with the HTTP status code 400. For example, for the request
POST /cities/v1/all HTTP/1.1, we get the response '{"error":"Cannot POST
/cities/v1/all"}'; for the request GET /cities/alpha/AU HTTP/1.1, we get the response
'{"error":"Cannot GET /cities/alpha/AU"}'.
Resources
You are provided with the following files.
• template.txt – the framework for the index.js file.
• bigcities.csv – the big cities data set.
Testing platform
We shall run the server program in the node-dev container set and use Curl and Firefox to test the
API.
Submission
Please finish this assignment before 23:59 December 3, 2023 Sunday. Submit the following files:
1. A JSON file – use mongoexport to export the whole collection from the bigcities database.
Similar to the mongoimport command, you have to open a terminal at the data/db folder
and type the following command (in one line):
mongoexport -d=bigcities -c=cities --jsonArray --sort='{_id: 1}' --out=3035111999.json
Replace 3035111999 with your student ID and upload this JSON file.
2. The complete index.js program and other required files.
3. The package.json file of your express program.
Grading Policy
Points Criteria
2.0 Task A
▪ Database set up, import the data set, and export the data set.
▪ The program can connect and access the MongoDB database.
▪ The program can detect that the database connection is broken.
2.5 Task B
▪ Correctly handle the GET request to return all big cities data
▪ Correctly handle the GET request with query string parameters to return the
specific set of data
▪ Error handling
2.0 Task C
▪ Correctly handle the GET request to retrieve all the alpha-2 code in the big cities
dataset.
▪ Correctly handle the GET request to retrieve all cities that have the matched
alpha-2 code.
▪ Error handling
2.0 Task D
▪ Correctly handle the GET request to retrieve all unique regions in the big cities
dataset.
▪ Correctly handle the GET request to retrieve all cities that have the matched
region.
▪ Error handling
2.5 Task E
▪ Correctly handle the GET request to retrieve all cities that have the matched city
name or partially matched city name.
▪ Correctly handle the GET request to retrieve all cities that have the matched city
name or partially matched city name within a specific region/alpha-2 code and
sorting order.
▪ Error handling
1.0 Task F
▪ Error handling of all unknown methods and paths
-4.0 Using any external libraries.
Plagiarism
Plagiarism is a very serious academic offence. Students should understand what constitutes
plagiarism, the consequences of committing an offence of plagiarism, and how to avoid it. Please
note that we may request you to explain to us how your program is functioning as well as we may
also make use of software tools to detect software plagiarism.
請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

掃一掃在手機打開當前頁
  • 上一篇:代寫CMPT 125、代做Computing Science
  • 下一篇:代做CMPUT 328、代寫VAE and Diffusion Models
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    亚洲精品99| 久久久久久穴| 欧美黄色一级| av高清一区| 中日韩男男gay无套| www.丝袜精品| 97精品资源在线观看| 黄色成人免费网| 亚洲精品国产首次亮相| 一区二区三区四区精品视频| 美女高潮久久久| 天堂√8在线中文| 亚洲精品午夜av福利久久蜜桃| 国产美女亚洲精品7777| 久久悠悠精品综合网| 51一区二区三区| 毛片电影在线| 久久福利毛片| 菠萝蜜一区二区| 你懂的在线观看一区二区| 日韩欧美在线精品| 久久久久97| 日韩国产一区二| 精品日本视频| 久久青青视频| 香蕉国产精品偷在线观看不卡| 亚洲国产专区| 91精品国产91久久久久久密臀 | 欧美激情在线免费| 亚洲精品资源| 欧美成人精品| 欧美粗暴jizz性欧美20| 日韩福利视频导航| 国产精品1区| 日精品一区二区三区| 日本欧美不卡| av免费不卡国产观看| 男人天堂欧美日韩| 亚洲美洲欧洲综合国产一区| 国产综合欧美| 欧美ab在线视频| 亚洲一级黄色| 亚洲午夜精品久久久久久app| 精品久久精品| 精品日产乱码久久久久久仙踪林| 中文字幕日韩高清在线| 日韩精彩视频在线观看| 亚洲精品白浆高清| 国内一区二区三区| 久久影院资源站| 久久久久久毛片免费看| 一区二区电影在线观看| 成人乱码手机视频| 国产成人免费视频网站视频社区| 亚洲综合小说| 欧美影院在线| 日韩电影免费一区| 视频一区日韩精品| 欧美激情影院| 中国av一区| 亚洲激情网站| 日韩在线播放一区二区| 欧美激情黄色片| 免费观看亚洲| 涩涩涩久久久成人精品| 日日夜夜一区二区| 91精品福利观看| 日韩啪啪网站| 国产一区福利| 国产真实久久| 亚洲女同在线| 日韩电影免费网址| 国产精品久久久久久妇女| 麻豆精品视频在线观看视频| 成年永久一区二区三区免费视频| 欧美在线在线| 成人在线视频中文字幕| 欧美 日韩 国产 一区| 国产精品乱看| 欧美国产大片| 亚洲巨乳在线| 亚洲国产视频二区| 欧洲杯半决赛直播| 国产精品黑丝在线播放| 成人黄色免费网站| www.久久99| 清纯唯美亚洲综合一区| 悠悠资源网久久精品| 日本在线高清| 日本麻豆一区二区三区视频| 婷婷综合一区| 999国产精品永久免费视频app| 亚洲少妇自拍| 97成人超碰| 国产精品亚洲二区| 日韩精品欧美| 日本精品三区| 影音先锋久久久| 风间由美中文字幕在线看视频国产欧美| 国产91精品对白在线播放| 欧美h版在线| 亚洲三级网站| 精品久久国产| 男男视频亚洲欧美| 99精品视频网| 日韩电影在线一区| 午夜国产精品视频| 99久久婷婷国产综合精品首页| 亚洲一区有码| 欧美中文字幕一区二区| 日韩国产在线| 国产精品午夜一区二区三区| 久久精品播放| 欧美xxxx做受欧美护士| 欧美人与物videos另类xxxxx| 91精品久久久久久久蜜月| 麻豆视频在线看| 国产精品1区| 成人av二区| 日韩黄色在线| 97人人澡人人爽91综合色| 久久先锋资源| 999色成人| 伊人成综合网| 美女视频黄久久| 精品久久综合| 日韩一区电影| 亚洲一二三区视频| 91中文字幕精品永久在线| 国产精品三级| 久久亚洲精选| 国产欧美日本| 男人的天堂成人在线| 欧美精品播放| 女同性一区二区三区人了人一 | 久久久久久自在自线| 91国产一区| 日韩午夜在线| 成人免费观看49www在线观看| 欧美成人中文| 日韩高清在线电影| 美女毛片一区二区三区四区| 久久激情五月婷婷| 伊人精品一区| 另类中文字幕网| 精精国产xxxx视频在线野外| 日韩欧美在线中字| 美女国产精品久久久| 日韩综合在线| 狠狠综合久久| 天天综合网站| 亚洲国产视频二区| 日韩欧美精品一区| 国产香蕉精品| 国产精品一区二区免费福利视频| 国产福利资源一区| 成人在线观看免费视频| 久久久久久久久久久妇女 | 国产精品va| 红桃视频国产精品| 国产一区二区三区电影在线观看| 日韩主播视频在线| 日韩精品一区二区三区中文| 天堂中文最新版在线中文| 精品国精品国产自在久国产应用| 国产精品一区二区免费福利视频 | 香蕉成人久久| 日韩一区免费| 日本午夜免费一区二区| 国产一区亚洲| 国内精品久久久久久久影视简单| 日本一区二区免费高清| 国产毛片精品| 一区二区三区在线| 黑人巨大精品| 亚洲五月婷婷| 日韩经典中文字幕一区| 草民电影神马电影一区二区| 狠狠色丁香久久综合频道| 日韩成人免费在线| 欧美一区视频| 老司机精品久久| 久久国产直播| 奇米狠狠一区二区三区| 成人在线观看免费视频| 亚洲综合电影一区二区三区| 伊人精品综合| 亚洲日本黄色| 日韩激情免费| 中文在线不卡| 色综合www| 亚洲成a人片77777在线播放| 成人精品一区二区三区电影| 一本色道久久| 成人久久综合| 精品视频在线观看免费观看| 日本伊人色综合网| 91精品影视| 亚洲欧美久久| 激情婷婷欧美|