A progressive Node.js framework for building efficient and scalable server-side applications.
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.
- Mac OS
- Linux
- Windows - WSL
- Single Responsibility Principle (SRP)
- Open Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Separation of Concerns (SOC)
- Don't Repeat Yourself (DRY)
- You Aren't Gonna Need It (YAGNI)
- Keep It Simple, Stupid (KISS)
- Composition Over Inheritance
-
Clients
-
Short URLs
- Nest - http://nestjs.com/
- Nest version: 10.3.2
- Node - https://nodejs.org/
- Node version: 20.11.0
- npm version: 10.2.x
- Docker - https://www.docker.com/
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
$ npm run test
This project is under MIT license. See the LICENSE file for more details.
Made with lots of ❤️ by Gabriel Ferrari Tarallo Ferraz