davsilvam / nanoly-api

🔗 O Nanoly é um projeto de um sistema de encurtar url's, onde o usuário pode encurtar uma url e compartilhar com outras pessoas.

Home Page:https://nanoly-api.onrender.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nanoly API

🔖 Sumário

🔗 Sobre o Projeto

O Nanoly é um projeto de um sistema de encurtar url's, onde o usuário pode encurtar uma url e compartilhar com outras pessoas.

📁 Rotas do Projeto

  • POST /users Cria um novo usuário.
  • POST /sessions Autentica um novo usuário.
  • GET /users/profile Obtém o perfil de um usuário.
  • POST /urls Cria uma nova url.
  • GET /urls/{:shortUrl}/redirect Obtém o link de redirecionamento de uma url encurtada.
  • GET /urls/{:id} Obtém uma url pelo seu id.
  • DELETE /urls/{:id} Deleta uma url.
  • GET /urls/profile/urls Obtém as url's de um usuário.

Encontre a documentação completa aqui.

🔧 Tecnologias

Tecnologias utilizadas no projeto.

Construção da API

Banco de Dados

Testes

IDE, Versionamento e Deploy

🚀 Configurações e Instalação

Requisitos

# Caso não tenha o pnpm, execute:
npm install -g pnpm

Recomendo que veja a documentação de configuração do Fastify.

# Clonando o projeto
git clone https://github.com/davsilvam/nanoly-api.git

# Instalando as dependências
pnpm install

# Criando o container do banco de dados:
docker compose up

# Criar arquivo .env com base no .env.example e preencher os campos necessários
NODE_ENV=<dev|test|prod>
JWT_SECRET=<secret>
DATABASE_URL=<url>

# Rodar o servidor em desenvolvimento
pnpm start:dev

# Iniciar testes gerais
pnpm test

# Iniciar testes unitários
pnpm test:unit

# Iniciar testes E2E
pnpm test:e2e

# Compilar e minificar para produção
pnpm build

# Rodar o servidor em produção
pnpm start

⚖️ Licença

Esse projeto está sob a licença MIT.


Feito com 🤍 e ☕ por David Silva.

Portfólio  ·  GitHub @davsilvam  ·  Instagram @davsilvam_

About

🔗 O Nanoly é um projeto de um sistema de encurtar url's, onde o usuário pode encurtar uma url e compartilhar com outras pessoas.

https://nanoly-api.onrender.com

License:MIT License


Languages

Language:TypeScript 99.5%Language:JavaScript 0.5%