Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/64j0/urlencurtador
Nesse projeto é desenvolvido um encurtador de links para WEB.
https://github.com/64j0/urlencurtador
Last synced: 2 days ago
JSON representation
Nesse projeto é desenvolvido um encurtador de links para WEB.
- Host: GitHub
- URL: https://github.com/64j0/urlencurtador
- Owner: 64J0
- Created: 2020-03-22T16:25:33.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-12T06:36:21.000Z (almost 2 years ago)
- Last Synced: 2023-03-04T14:19:16.392Z (over 1 year ago)
- Language: TypeScript
- Size: 2.31 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Encurtador de URLs
:warning: Aviso: *Estou refatorando este projeto ainda, por isso não será possível encontrar todas as features mencionadas no README.*
Esse projeto consiste em um encurtador de links desenvolvido para WEB, baseado inicialmente neste vídeo do canal Web Dev Simplified.
Para desenvolver este projeto precisei estudar a arquitetura **MVC - Model View Controller** e a sintaxe do **EJS - Embedded JavaScript templating** para criar templates de maneira simples que podem ser enviados para o browser do usuário a partir do *back-end*.
Busquei aplicar boas práticas e separar ao máximo possível os conceitos e componentes, com o *controller* implementando a lógica de negócio da aplicação, o *model* sendo uma representação dos dados armazenados no banco de dados (**MongoDB**) e a *view* sendo a parte visual que renderiza as informações para o usuário.
A primeira versão do projeto foi feita totalmente com *JavaScript* e sem testes. Na nova versão estou utilizando *TypeScript* em partes que podem aproveitar suas funcionalidades e aplicando testes automatizados com o *Jest*.
O deploy da aplicação foi feito no *Heroku* e para acessá-la basta seguir o site: [Encurtador de links](https://encurt.herokuapp.com/).
### Como executar:
Para executar o projeto basta ter o **Node.js** instalado e uma instância do **MongoDB** rodando com os valores padrões.
Em seguida deve ser feito um clone desse repositório para uma pasta qualquer, ir até a pasta que foi criada com os arquivos do projeto e executar um *npm install* para instalar as dependências (*node_modules*).
```bash
# clona o repositório
$ git clone https://github.com/64J0/UrlEncurtador# muda para o diretório do projeto
$ cd UrlEncurtador/# instala as dependências
$ npm install# executa o servidor de desenvolvimento
$ npm run dev
```---
## Referências:Abaixo seguem algumas referências que utilizei, fora o vídeo do *YouTube* para desenvolver este projeto.
[1] - [How to Setup a TypeScript + Node.js Project](https://khalilstemmler.com/blogs/typescript/node-starter-project/)
Vinícius Gajo Marques Oliveira, 2020.