Encurtador de URL é usado para criar uma url curta, para compartilhar em sites, chats, e-mails e redes sociais. Como o Facebook, Instagram, Youtube, Whatsapp.
Este projeto foi desenvolvido para praticar o uso do Prisma 2 ORM e a utilização das arquiteturas SOLID e Clean Architecture.
Esse projeto foi desenvolvido com as seguintes tecnologias:
- React - A JavaScript library for building user interfaces
- Next.js - The React Framework for Production
- Typescript - Typed JavaScript at Any Scale.
- Node.js - A JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express.js - Fast, unopinionated, minimalist web framework for Node.js
- Prisma - Next-generation Node.js and TypeScript ORM
- PostgreSQL - The World's Most Advanced Open Source Relational Database
- Funcionalidade de criar um encurtador de URL ✅
- Redirecionamento da URL encurtada pelo NextJS utilizando Server Side Rendering ✅
- Implementado no back-end (NodeJS + TypeScript) as arquiteturas e métodologias: Clean Architecture, Domain Driven Design (DDD), Clean Code e SOLID ✅
Para rodar o projeto é necessário ter Node.js instalado em sua maquina. Caso não tenha ainda basta acessar o site do Node.js e instalar para continuar.
- Clone o repositório
git clone https://github.com/alnmaurofranco/aln-url-shortener
- Acesse a pasta do projeto
cd aln-url-shortener
- Agora vá na pasta do front-end:
cd web
- Instale as dependências do projeto com (yarn ou npm)
yarn install
- Inicie o front-end com o comando abaixo:
yarn dev
E pronto agora o frontend estára rodando e pode ser acessado em localhost:3000
- Agora vá na pasta do back-end:
cd server
- Instale as dependências do projeto com (yarn ou npm)
yarn install
- Logo depois você deve alterar os arquivos que terminam com
.env.development.example
para.env.development
e modifique a variavel abaixo com suas configurações do seu banco de dados:
DATABASE_URL="postgresql://USER:PASS@HOST:PORT/DATABASE?schema=public"
- Inicie o back-end com o comando abaixo:
yarn dev
E pronto agora o backend estára rodando e pode ser acessado em localhost:3333
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💚 by AlanM Franco Visite meu Portfolio!