使用 Nodejs 开发的 SpaceX-API 开源了!

上面是这个图片不是从网上随便找的,来自于 SpaceX-API 项目的 Github 网站,想起了以前说的一个玩笑 “面试造火箭” 此次是真的造火箭了。。。node

SpaceX-API 是什么?

SpaceX-API 是一个用于火箭、核心舱、太空舱、发射台和发射数据的开源 REST API。git

https://docs.spacexdata.com 展现了所提供的 API 接口,还包括多种语言的接口调用,下图右侧展现 Nodejs 的调用示例及相应返回值。github

技术栈是什么?

  • 部署在美国中部 Linode 服务器上。
  • 使用了 NodejsKoa 框架。
  • 使用了 RedisNginxCloudflare 进行内容缓存。
  • 使用了 JestSupertest 作测试。
  • 使用了 Circle CI 进行持续集成/部署。
  • 全部的数据存储在 MongoDB Atlas 3 节点的副本集集群中。
  • 使用 mongodump 在晚上进行数据备份,在这里查看 https://backups.jakemeyer.sh/。

Koa 在 Nodejs 中也是一个比较知名的框架,以前也有 Node 童学问,有没有什么开源的相关项目能够学习的?web

SpaceX-API 这个项目提供了不少丰富的数据,虽然它不能真正让你造出一个火箭(并不包含火箭真正的制做步骤,😄),可是借助它提供的数据作一些有意思的项目仍是能够的,经过开源项目也是一个学习的过程。面试

上图展现了 SpaceX-API 的目录结构,能够看到使用到 koa、mongoose 还有 ioredis 等,文末阅读原文你能够学习它们在该项目中是如何使用的。redis

如何部署

NPM 本地部署

熟悉 Nodejs 的朋友,你能够经过 NPM 快速在本地部署该项目,若是你尚未安装 Nodejs 能够参考个人这篇文章 “3N 兄弟” 助您完成 Node.js 环境搭建 Nodejs 安装成功以后 NPM 就有了。docker

1. 克隆进入到这个仓库npm

$ git clone https://github.com/r-spacex/SpaceX-API.git && cd SpaceX-API
复制代码

2. 安装依赖缓存

$ npm install
复制代码

3. 运行 ESlint 和全部的测试服务器

$ npm test
复制代码

4. 开启这个应用

$ npm start
复制代码

使用 Docker

除此以外你还可使用 Docker 的方式,前提也是要确保你的 Docker 已正确安装,若是你对 Docker 也不熟悉,没关系能够看看这篇介绍 一文零基础教你学会 Docker 入门到实践

$ git clone https://github.com/r-spacex/SpaceX-API.git && cd SpaceX-API
$ docker-compose build
$ docker-compose up
复制代码

Reference

敬请关注「Nodejs技术栈」微信公众号,获取优质文章

相关文章
相关标签/搜索