https://github.com/infinitemarcus/url-shortener-dio
Encurtador de URL desenvolvido durante bootcamp da DIO
https://github.com/infinitemarcus/url-shortener-dio
dio dio-bootcamp nodejs typescript url-shortener
Last synced: about 1 month ago
JSON representation
Encurtador de URL desenvolvido durante bootcamp da DIO
- Host: GitHub
- URL: https://github.com/infinitemarcus/url-shortener-dio
- Owner: InfiniteMarcus
- Created: 2022-01-22T19:51:11.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-01-26T02:48:45.000Z (over 4 years ago)
- Last Synced: 2025-05-27T00:06:17.513Z (about 1 year ago)
- Topics: dio, dio-bootcamp, nodejs, typescript, url-shortener
- Language: TypeScript
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Encurator de URL - DIO
## Propósito
Projeto desenvolvido durante Bootcamp da [DIO](https://www.dio.me/sign-in) (Digital Innovation One).
Esta aplicação é uma implementação de um encurtador de URLs, feita com TypeScript e MongoDB.
## Alterações
Considerando a base do projeto desenvolvida durante o Bootcamp, algumas alterações foram feitas:
- Adição de capturas de erros, tanto para requisições mal formadas quanto para problemas internos do servidor.
- Correção de algumas partes do código base que foram depreciadas (principalmente no pacote `typegoose`)
- Adição de coleção `URLAccess` para coletar dados dos redirecionamentos feitos pelas URLs encurtadas
- Nela são armazenados o hash da URL encurtada, o IP que soliticou a URL e a data da requisição. Essas informações poderiam ser usados, em um cenário real, para análises de dados no uso do serviço, respeitando as regulamentações necessários de coleta de dados
- Adição de pacote `dotenv` para gerência de variáveis de ambiente
## Execução
Para testar o projeto, baixe os arquivos deste repositório em uma máquina com Node.js e NPM instalados.
Após isso, siga o passo-a-passo:
1. Utilize o comando `npm install` para instalar as dependências
2. Crie um arquivo `.env` e preencha as variáveis de ambiente `API_URL` e `MONGO_CONNECTION`
3. Utilize os scripts presentes no arquivo `package.json` para compilar e executar o código-fonte de acordo com as suas necessidades
### Scripts
- Compilação de código TypeScript: `npm run build`
- Compilação de código TypeScript (recompilando mudanças no código-fonte): `npm run watch`
- Para executar com Nodemon (ambiente de desenvolvimento): `npm run dev`
- Para executar sem Nodemon (ambiente de produção): `npm start`