Skip to content

TinyURL Backend CLONE made with Nest.Js, built with Clean Architecture using Design Patterns and D.D.D. that runs in REST a server

License

Notifications You must be signed in to change notification settings

gftf2011/url-shortener

Repository files navigation

CLEAN Nest.JS URL-SHORTNER


Nest Logo


A progressive Node.js framework for building efficient and scalable server-side applications.


📄 About

This a backend APP from a URL-SHORTENER Nest.JS typescript project.

It is a study project used to see how would be implemented a incremental version of a URL-SHORTENER. The best approach for this problem it is not this one presented, again it is just a study repo !

To see an implementation using the incremental version see the branch "incremental-short-url".

To see an implementation using the incremental version, with sync data replication, see the branch "dev", W.I.P. (Work In Progress)

The objective from this project was to explore the framework by creating a well defined set of APIs with a decoupled architecture using Clean Architecture and D.D.D. - (Domain Driven Design) and exploring architecture capabilities like caching and design capabilities with several design patterns.


🛠️ Supported OS

  • Mac OS
  • Linux
  • Windows - WSL

🔷 Design Patterns

Creational

Structural


📘 Principles


🏗️ Business Rules


📙 ADRs - Architecture Decision Records


📋 Required Tools


🏎️ Running Project

DEVELOPMENT

  $ npm i
  $ npm run start:dev

DEBUG

  $ npm i
  $ npm run start:debug

OBS.: After the server is UP and Running use api.http file to do your requests using VS Code


🧪 Running Tests

Full Test

  $ npm run test

📝 License

This project is under MIT license. See the LICENSE file for more details.


Made with lots of ❤️ by Gabriel Ferrari Tarallo Ferraz

About

TinyURL Backend CLONE made with Nest.Js, built with Clean Architecture using Design Patterns and D.D.D. that runs in REST a server

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published