From 5df337b842354fe0d2f1d65638d62548b2431ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=8E=89=E6=9D=B0?= <1148992329@qq.com> Date: Thu, 27 Apr 2023 15:44:36 +0800 Subject: [PATCH 1/2] =?UTF-8?q?Centific-=E6=9D=8E=E7=8E=89=E6=9D=B0-node?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/README.md | 92 +- ...6\346\210\220\346\265\213\350\257\225.png" | Bin 0 -> 118001 bytes ...1\346\241\206\346\236\266\345\233\276.jpg" | Bin 0 -> 7878353 bytes ...1\346\265\201\347\250\213\345\233\276.jpg" | Bin 0 -> 8542659 bytes ...5\345\205\203\346\265\213\350\257\225.png" | Bin 0 -> 109759 bytes ...6\345\272\223\347\273\223\346\236\204.jpg" | Bin 0 -> 4685383 bytes backend/nest-cli.json | 5 + backend/package-lock.json | 9197 +++++++++++++++++ backend/package.json | 74 + backend/src/app.controller.spec.ts | 80 + backend/src/app.module.ts | 24 + backend/src/main.ts | 11 + backend/src/short-url/entity/page-info.ts | 18 + .../short-url/entity/short-url.repository.ts | 48 + backend/src/short-url/model/status_code.ts | 14 + backend/src/short-url/short-url.controller.ts | 38 + backend/src/short-url/short-url.module.ts | 13 + .../src/short-url/short-url.service.spec.ts | 82 + backend/src/short-url/short-url.service.ts | 99 + backend/test/jest-e2e.json | 9 + backend/tsconfig.build.json | 4 + backend/tsconfig.json | 21 + backend/yarn.lock | 5032 +++++++++ 23 files changed, 14829 insertions(+), 32 deletions(-) create mode 100644 "backend/doc/api\351\233\206\346\210\220\346\265\213\350\257\225.png" create mode 100644 "backend/doc/\344\272\247\345\223\201\346\241\206\346\236\266\345\233\276.jpg" create mode 100644 "backend/doc/\344\272\247\345\223\201\346\265\201\347\250\213\345\233\276.jpg" create mode 100644 "backend/doc/\345\215\225\345\205\203\346\265\213\350\257\225.png" create mode 100644 "backend/doc/\346\225\260\346\215\256\345\272\223\347\273\223\346\236\204.jpg" create mode 100644 backend/nest-cli.json create mode 100644 backend/package-lock.json create mode 100644 backend/package.json create mode 100644 backend/src/app.controller.spec.ts create mode 100644 backend/src/app.module.ts create mode 100644 backend/src/main.ts create mode 100644 backend/src/short-url/entity/page-info.ts create mode 100644 backend/src/short-url/entity/short-url.repository.ts create mode 100644 backend/src/short-url/model/status_code.ts create mode 100644 backend/src/short-url/short-url.controller.ts create mode 100644 backend/src/short-url/short-url.module.ts create mode 100644 backend/src/short-url/short-url.service.spec.ts create mode 100644 backend/src/short-url/short-url.service.ts create mode 100644 backend/test/jest-e2e.json create mode 100644 backend/tsconfig.build.json create mode 100644 backend/tsconfig.json create mode 100644 backend/yarn.lock diff --git a/backend/README.md b/backend/README.md index 7bbf9ab98..00a13b112 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,45 +1,73 @@ -# TypeScript Backend Engineer Assignment +
-### Typescript 实现短域名服务(细节可以百度/谷歌) +[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 +[circleci-url]: https://circleci.com/gh/nestjs/nest -撰写两个 API 接口 +A progressive Node.js framework for building efficient and scalable server-side applications.
+ + -- 短域名存储接口:接受长域名信息,返回短域名信息 -- 短域名读取接口:接受短域名信息,返回长域名信息。 +## Description -限制 +[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. -- 短域名长度最大为 8 个字符(不含域名) +## Installation -递交作业内容 +```bash +$ npm install +``` -1. 源代码 -2. 单元测试代码以及单元测试覆盖率(覆盖率请勿提交整个目录,一张图片或一个 text table 即可) -3. API 集成测试案例以及测试结果 -4. 简单的框架设计图,以及所有做的假设 -5. 涉及的 SQL 或者 NoSQL 的 Schema,注意标注出 Primary key 和 Index 如果有。 +## Running the app -其他 +```bash +# development +$ npm run start -- 我们期望不要过度设计,每一个依赖以及每一行代码都有足够充分的理由。 +# watch mode +$ npm run start:dev -## 岗位职责 +# production mode +$ npm run start:prod +``` -- 根据产品交互稿构建高质量企业级 Web 应用 -- 技术栈:Express + React -- 在产品迭代中逐步积累技术框架与组件库 -- 根据业务需求适时地重构 -- 为 Pull Request 提供有效的代码审查建议 -- 设计并撰写固实的单元测试与集成测试 +## Test -## 要求 +```bash +# unit tests +$ npm run test -- 三年以上技术相关工作经验 -- 能高效并高质量交付产品 -- 对业务逻辑有较为深刻的理解 -- 加分项 - - 持续更新的技术博客 - - 长期维护的开源项目 - - 流畅阅读英文技术文档 - - 对审美有一定追求 - - 能力突出者可适当放宽年限 +# e2e tests +$ npm run test:e2e + +# test coverage +$ npm run test:cov +``` + +## Support + +Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). + +## Stay in touch + +- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com) +- Website - [https://nestjs.com](https://nestjs.com/) +- Twitter - [@nestframework](https://twitter.com/nestframework) + +## License + +Nest is [MIT licensed](LICENSE). diff --git "a/backend/doc/api\351\233\206\346\210\220\346\265\213\350\257\225.png" "b/backend/doc/api\351\233\206\346\210\220\346\265\213\350\257\225.png" new file mode 100644 index 0000000000000000000000000000000000000000..cea4f342870d068a5f3f938627cffec8d91d7c92 GIT binary patch literal 118001 zcmeFYg;!kPvhPcfprHvG5?q3N2pSpn~)nP?~nj@pr#a(8_=ip}qm5M$InKdP`miK?4^zpxrs!lRKi{GUz+cWa*O zD|e@0i^s2fD=8kQ2-%Q0Cc^!k*9be|7_?9$k%*~cORQ;CAEehmk&q30cL_qYs;iX| z61%TYcUPT!hL)J3ILp1SpXPIiiSW-5gpDaDHi*v7DTR;`^oQ|eF`iM3xP}i08WRT* ze3muz!C{NvWJalo-^4;$qid9oun=28^a*>N#59cPGxyBx<4ZP7tDi6mXF_No6~Zhr z&i($r;*MB4b~Q`gOEKmd3-gEU?^itI5tQ<*Jl1GTdsJ+U-93m7WG;W6Qlg&p&M)%( zh02URjV1;Rj_zSyICHre=V6tKtT2s)MEPoBZh=HQR>+Lw<5*rOsx18Y*oOFijQD5Z zLdxWesDK5uEhT0BZ}D-HL-;|C6hTbL8C1+WG@@l7sHljDl;5;@t*LR_G?8`^gHdh# z17C&siN@Yx$2*?T{8{e|mJRwV4s8c#V~jrh5SH+O;VGOM3TMV4`4F|G2<8cMNzjs1 z9<=6`g))jLq{j~*rm0*&^G@H=Ak~1K*TCj$LkwPdA1X#IUN6C2x3;UU+k-u;X0ULd z%o4K1F0SQI=4Mg-I zM8u6E)8~?TLmuL1sR&`+Svcsz-9MWs+$s_9MIH}vN}KrocRKZUVwXZph17OfW@|hkQFT@+k0hGD~PbO0iBt&vTTdiit{GQvp>t(xA>F;kB
zliYMi(D3)0;$N6ayG_cpteczcxwA~{`&$#gibf6)?hSfzbpl+MsSv|aM`c6{?JVfU
zn*zp9C3$-j8Kr#``8Xr}oOyWkJI=>2j~Q-#e$q^aVq}bFy(F~)H`Sp>_^J22TsE2~
zFe$Q(SqmfZy)?TLOtv
zg)gTJV8iLYt!4WkjCRnKDANSL?n(W7I#%f;V59TVPOwz|-y6mJ|4#J(WhYXT5|Z6Z
ze&;LX1uJsg9Vyn(cas=T=i@p!^13)&ZEajKOVXQ_B=^b#FpJYS1vm<1KvXRO*x?p>
zfP_}*e1ut3;xm0C{?c)0zWQ9>bra=k(IP7_Y7*_=tx6~kuq4T%P|`-ev>q2k37$*o
zb @KiuaC@Y>Sxqu~w@*Wmvu@N9nFL1t=BM+d&d;(!r^qh2bV@%yz5rZ^
z=~u1
lOB(5W$68zy=rDS`RAtD91ns+PE}z0Bkj(9@1zCrWQJk5d^7{%QXA#
z*RGM4kNDM76jZTFcEIWnLG#uFaUoetpK+CQQsbu_w9SAUO_2`=q4ILItC!>Cgl-}B
zYaoWtRx*6G)JfVa>VSFs*dV;HZuPht@57%TR-`vUD>Nwf@)+xy{x1pA0WK84RjA+u
z=@15U9drI@6D}90u&d=MzjY51U8UgEqk1D9kj!l*gNLlRCr%p|kfHnI&zu?O4;QVb
zCkZg}Q}`NCy}Z*3ZCSU~)7)2ufNLi=hpWTWJ(=tPyj`
z-I%|Y@IZ(bnNNLP?^^O9=&^KKZARbDEmyB*oCITvKz7