nodejs-hapi-template:一个 Nodejs hapi 样板应用程序,具有对 Docker、Redis 缓存、数据库迁移和播种机、速率限制和分页端点的开箱即用支持-源码

上传者: 42175035 | 上传时间: 2021-08-04 22:04:36 | 文件大小: 213KB | 文件类型: ZIP
节点 Hapi 模板 使用 Nodejs 构建的企业 Hapi 模板应用程序展示 - 测试策略、数据库播种和迁移、与 ORM 的集成、使用 Docker 的容器化、REST API、授权中间件、redis 缓存、限速端点、分页端点和基于目录的路由 数字产品战略家、开发人员和设计师的专家团队。 我们一直在寻找重视工作的人,所以来加入我们吧。 开箱即用的支持 Docker化 授权中间件 Redis缓存 速率受限端点 分页端点 招摇的用户界面 支持基于目录的路由 使用 sequelize 简化对迁移和播种器的支持 用于所有数据库交互的 DAO 层 使用 jest 进行测试 设置和配置。 先决条件 节点 码头工人 docker-compose mysql 安装 使用 npm 安装依赖项 npm install 设置 运行./setup-local.sh 这将在 mysql 中播种数据并运行服

文件下载

资源详情

[{"title":"( 84 个子文件 213KB ) nodejs-hapi-template:一个 Nodejs hapi 样板应用程序,具有对 Docker、Redis 缓存、数据库迁移和播种机、速率限制和分页端点的开箱即用支持-源码","children":[{"title":"nodejs-hapi-template-master","children":[{"title":"config","children":[{"title":"auth.js <span style='color:#111;'> 933B </span>","children":null,"spread":false},{"title":"server.js <span style='color:#111;'> 1.10KB </span>","children":null,"spread":false},{"title":"db.js <span style='color:#111;'> 347B </span>","children":null,"spread":false},{"title":"paths.js <span style='color:#111;'> 2.08KB </span>","children":null,"spread":false}],"spread":true},{"title":"index.js <span style='color:#111;'> 165B </span>","children":null,"spread":false},{"title":".env.local <span style='color:#111;'> 231B </span>","children":null,"spread":false},{"title":".babelrc.js <span style='color:#111;'> 179B </span>","children":null,"spread":false},{"title":"seeders","children":[{"title":"04_oauth_client_scopes.js <span style='color:#111;'> 520B </span>","children":null,"spread":false},{"title":"02_users.js <span style='color:#111;'> 583B </span>","children":null,"spread":false},{"title":"05_oauth_access_token.js <span style='color:#111;'> 1.38KB </span>","children":null,"spread":false},{"title":"03_oauth_client_resources.js <span style='color:#111;'> 532B </span>","children":null,"spread":false},{"title":"01_oauth_clients.js <span style='color:#111;'> 467B </span>","children":null,"spread":false}],"spread":true},{"title":"package.json <span style='color:#111;'> 4.15KB </span>","children":null,"spread":false},{"title":"nodejs_hapi_template_github.svg <span style='color:#111;'> 16.36KB </span>","children":null,"spread":false},{"title":".github","children":[{"title":"workflows","children":[{"title":"nodejs-hapi-template.yml <span style='color:#111;'> 723B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".prettierrc <span style='color:#111;'> 126B </span>","children":null,"spread":false},{"title":"server.js <span style='color:#111;'> 5.29KB </span>","children":null,"spread":false},{"title":".env.development <span style='color:#111;'> 266B </span>","children":null,"spread":false},{"title":"Dockerfile <span style='color:#111;'> 148B </span>","children":null,"spread":false},{"title":"jest.config.js <span style='color:#111;'> 177B </span>","children":null,"spread":false},{"title":".sequelizerc <span style='color:#111;'> 127B </span>","children":null,"spread":false},{"title":"resources","children":[{"title":"v1","children":[{"title":"03_oauth_access_tokens.sql <span style='color:#111;'> 645B </span>","children":null,"spread":false},{"title":"02_users.sql <span style='color:#111;'> 460B </span>","children":null,"spread":false},{"title":"05_oauth_client_scopes.sql <span style='color:#111;'> 463B </span>","children":null,"spread":false},{"title":"04_oauth_client_resources.sql <span style='color:#111;'> 623B </span>","children":null,"spread":false},{"title":"01_oauth_clients.sql <span style='color:#111;'> 411B </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"LICENSE <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"migrate-and-run.sh <span style='color:#111;'> 454B </span>","children":null,"spread":false},{"title":"migrations","children":[{"title":"20191209182815-create-user.js <span style='color:#111;'> 188B </span>","children":null,"spread":false},{"title":"20200413132815-oauth.js <span style='color:#111;'> 188B </span>","children":null,"spread":false}],"spread":false},{"title":".eslintrc.js <span style='color:#111;'> 1.52KB </span>","children":null,"spread":false},{"title":"jest.setup.js <span style='color:#111;'> 785B </span>","children":null,"spread":false},{"title":"setup-local.sh <span style='color:#111;'> 216B </span>","children":null,"spread":false},{"title":"docker-compose.yml <span style='color:#111;'> 450B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false},{"title":"lib","children":[{"title":"models","children":[{"title":"index.js <span style='color:#111;'> 924B </span>","children":null,"spread":false},{"title":"oauth_client_resources.js <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false},{"title":"oauth_access_tokens.js <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"users.js <span style='color:#111;'> 990B </span>","children":null,"spread":false},{"title":"oauth_client_scopes.js <span style='color:#111;'> 1.51KB </span>","children":null,"spread":false},{"title":"oauth_clients.js <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false}],"spread":false},{"title":"testServer.js <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false},{"title":"daos","children":[{"title":"oauthClientsDao.js <span style='color:#111;'> 3.32KB </span>","children":null,"spread":false},{"title":"oauthAccessTokensDao.js <span style='color:#111;'> 2.63KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"oauthClientResourcesDao.test.js <span style='color:#111;'> 6.24KB </span>","children":null,"spread":false},{"title":"oauthClientsDao.test.js <span style='color:#111;'> 8.20KB </span>","children":null,"spread":false},{"title":"oauthAccessTokensDao.test.js <span style='color:#111;'> 4.97KB </span>","children":null,"spread":false},{"title":"userDao.test.js <span style='color:#111;'> 3.30KB </span>","children":null,"spread":false},{"title":"oauthClientScopesDao.test.js <span style='color:#111;'> 5.31KB </span>","children":null,"spread":false}],"spread":false},{"title":"userDao.js <span style='color:#111;'> 614B </span>","children":null,"spread":false},{"title":"oauthClientScopesDao.js <span style='color:#111;'> 1.89KB </span>","children":null,"spread":false},{"title":"oauthClientResourcesDao.js <span style='color:#111;'> 4.33KB </span>","children":null,"spread":false}],"spread":false},{"title":"routes","children":[{"title":"routes.js <span style='color:#111;'> 327B </span>","children":null,"spread":false},{"title":"reset-cache","children":[{"title":"routes.js <span style='color:#111;'> 732B </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"routes.test.js <span style='color:#111;'> 2.32KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"tests","children":[{"title":"test.js <span style='color:#111;'> 336B </span>","children":null,"spread":false}],"spread":false},{"title":"oauth2","children":[{"title":"scopes","children":[{"title":"routes.js <span style='color:#111;'> 2.75KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"routes.test.js <span style='color:#111;'> 4.90KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"resources","children":[{"title":"routes.js <span style='color:#111;'> 4.32KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"routes.test.js <span style='color:#111;'> 6.81KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"tokens","children":[{"title":"routes.js <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"routes.test.js <span style='color:#111;'> 2.99KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"clients","children":[{"title":"routes.js <span style='color:#111;'> 1.64KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"routes.test.js <span style='color:#111;'> 3.47KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":"users","children":[{"title":"routes.js <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"routes.test.js <span style='color:#111;'> 2.91KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":".dockerignore <span style='color:#111;'> 12B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 4.54KB </span>","children":null,"spread":false},{"title":"yarn.lock <span style='color:#111;'> 388.13KB </span>","children":null,"spread":false},{"title":"utils","children":[{"title":"seedData.js <span style='color:#111;'> 228B </span>","children":null,"spread":false},{"title":"index.js <span style='color:#111;'> 5.01KB </span>","children":null,"spread":false},{"title":"mockData.js <span style='color:#111;'> 2.32KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"validateScopeForRoute.test.js <span style='color:#111;'> 2.91KB </span>","children":null,"spread":false},{"title":"index.test.js <span style='color:#111;'> 12.43KB </span>","children":null,"spread":false}],"spread":false},{"title":"testUtils.js <span style='color:#111;'> 2.57KB </span>","children":null,"spread":false},{"title":"transformerUtils.js <span style='color:#111;'> 728B </span>","children":null,"spread":false},{"title":"responseInterceptors.js <span style='color:#111;'> 359B </span>","children":null,"spread":false},{"title":"validationUtils.js <span style='color:#111;'> 1.65KB </span>","children":null,"spread":false},{"title":"configureEnv.js <span style='color:#111;'> 132B </span>","children":null,"spread":false},{"title":"migrateUtils.js <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false},{"title":"cacheMethods.js <span style='color:#111;'> 275B </span>","children":null,"spread":false},{"title":"cacheConstants.js <span style='color:#111;'> 456B </span>","children":null,"spread":false},{"title":"paginationConstants.js <span style='color:#111;'> 912B </span>","children":null,"spread":false},{"title":"constants.js <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明