Simple URL shortener project
  • TypeScript 90%
  • Nix 10%
Find a file
2023-09-23 17:53:21 +00:00
.circleci Tweaked CircleCI config 2023-09-23 10:52:42 -03:00
src Initial commit 2023-09-23 10:00:12 -03:00
test Initial commit 2023-09-23 10:00:12 -03:00
.eslintrc.js Initial commit 2023-09-23 10:00:12 -03:00
.gitignore Initial commit 2023-09-23 10:00:12 -03:00
.prettierrc Initial commit 2023-09-23 10:00:12 -03:00
LICENSE Initial commit 2023-09-23 09:58:17 -03:00
nest-cli.json Initial commit 2023-09-23 10:00:12 -03:00
package.json Updated README 2023-09-23 14:51:02 -03:00
pnpm-lock.yaml Initial commit 2023-09-23 10:00:12 -03:00
README.md Updated README 2023-09-23 14:51:02 -03:00
shell.nix Added shell.nix 2023-09-23 10:57:28 -03:00
tsconfig.build.json Initial commit 2023-09-23 10:00:12 -03:00
tsconfig.json Initial commit 2023-09-23 10:00:12 -03:00

A simple URL shortening service.

Package License CircleCI

Description

A project meant to develop my NestJS skills, as well as practice real world implementations of CI/CD and dockerization.

Goals

  • Minimally viable simple URL shortening API
    • Create short URLs
    • Redirect shortened URL to the original
    • Simple statistics about each shortened URL
  • CI - Build, Tests
  • CD - Deployment
  • Docker build

Development environment

Nix

Run the following on the root folder

$ nix-shell

Others

Manually install the requirements

  • NodeJS 18.x
  • PNPM

Installation

$ pnpm install

Running the app

# development
$ pnpm run start

# watch mode
$ pnpm run start:dev

# production mode
$ pnpm run start:prod

Test

# unit tests
$ pnpm run test

# e2e tests
$ pnpm run test:e2e

# test coverage
$ pnpm run test:cov

License

This project is GNU General Public License v3.0 licensed.