为旅游 Web 应用程序构建旅行计划功能的指南 [已关闭]

Guide for building trip-planning features for a tourism web app [closed]

提问人:Harry Nguyen 提问时间:11/16/2023 最后编辑:Ali MalekHarry Nguyen 更新时间:11/21/2023 访问量:20

问:


想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。

昨天关闭。

我正在我的学校做一个项目,我很想将旅行计划功能添加到我的网络应用程序中。

有关此功能的更多详细信息,用户始终可以拥有起点和终点,并且可以根据需要添加任意数量的停靠终点。此外,还会有一张地图来指明方向。

因此,我没有那么有经验,我仍然不知道从哪里开始。

  • 我应该如何设计数据库?
  • 我需要使用第三服务来获取地图吗?

我知道这可能是一个非常宽泛的问题,但任何帮助都是值得赞赏的。

节点.js google-maps-api-3

评论


答:

0赞 Ali Malek 11/17/2023 #1

正如你所说,这是一个宽泛的问题。在设计功能时,您需要更具体地了解您的功能要求,并尽可能多地回答问题以澄清。这篇好文章可以帮助您更多地了解您可能需要的功能,如何逐步创建基于位置的应用程序。您甚至可以检查提供您要创建的服务的其他应用程序。

但是,我尝试与您一起设计一项服务,以回答您的更多问题。我假设用户有一个可以标记某个位置的 UI,您可以获取 and(类似于 Uber 应用程序)。latitudelongitude

  1. tripstable 来存储行程的基本信息,例如哪个用户创建了它,它可能有名称、创建时间等。
  2. locations用于存储起点和终点的表、与行程的关系字段、作为枚举的位置类型(用于理解它是起点或终点)以及用于维护位置顺序的序列字段。
  3. 您可能有更多细节可以改进我在下面设计的原始草稿。

Database design

现在我们有了数据库,假设我们有一个 Endpoint,它将行程详细信息返回给用户,如下例所示:

GET /api/v1/trips/${id}

{
  "id": ${id}
  "trip_name": "My Awesome Trip",
  "locations": [{
     "type": "origin",
     "latitude": 52.377956,
     "longitude": 4.897070,
     "sequence": 1
  }, {
     "type": "destination",
     "latitude": 1.3139946,
     "longitude": 103.8134,
     "sequence": 2
  }, {
     "type": "destination",
     "latitude": -37.840935,
     "longitude": 144.946457,
     "sequence": 3
  }, ...]
}

您不一定需要使用 API,还有其他工具可以让您在网站上拥有地图,例如 Open Street Map传单。由于地图的维护,最好使用第三方地图。您将找到大量有关如何将此库与前端代码集成的资源。Google Maps

我希望这个原始设计能帮助你建立你的设计。