/crud-project

Projeto criado com intuito de estudar mais sobre POO, SOLID, DDD, e Arquitetura Hexagonal

Primary LanguageTypeScript

Login Project

Badge_Finalizado

Descrição.

Este é um projeto simples de sistema de login que fornece uma API RESTful para gerenciar dados. Ele é construído usando Node.js e TypeScript, e utiliza o framework web Express.js, MySQL como banco de dados e JSON Web Tokens (JWT) para autenticação.

Pré-requisitos.

Antes de executar este projeto, certifique-se de ter instalado o seguinte:

  • Sistema Operacional Distribuição Unix
  • Node.js (versão 16.17.0 ou superior)
  • Docker (versão 23.0.6)
  • Docker-Compose (versão 2.18.0)

Orientações.

⚠️ Antes de começar a desenvolver
  1. Clone o repositorio.
  • Use o comando : git@github.com:guigabriel/crud-project.git.
  • Entre na pasta do repositório que acabou de clonar:
    • cd crud-project.
  1. Crie uma branch apartir da master.
  • Verifique se você está na branch master.
    • git branch.
  • Caso Você não esteja na branch master.
    • git checkout master
  • Agora crie a sua branch a qual você vai enviar seus commits.
  • Você deve seguir o seguinte formato nome-github-nome-projeto.
  • Exemplo: git checkout -b guilherme-gabriel-crud-project.
🐋 Docker
  • ⚠️ Verifique se o docker e o docker-compose estão instalados.

  • caso não estejam:

  • Agora verifique as versões:

docker -v
docker-compose -v

Rodando o Projeto.

  1. Utilize o comando pwd e verifique que você está dentro da pasta do projeto.
  2. Crie um arquivo .env na Raiz do Projeto:
    MYSQL_USER=root
    MYSQL_PASSWORD=password
    MYSQL_PORT=3306
    MYSQL_HOST=db 
    MYSQL_DB=crud_db
    MYSQL_ROOT_PASSWORD=password
    
  3. Utilize o comando docker-compose up -d --build para criar os contâiners.
  4. Após os containers subirem você deve entrar no container crud-api assim:
    • docker exec -it crud-api sh.
  5. Dentro do container você deve instalar as dependências do projeto:
    • npm install.
  6. E por fim executar o projeto:
    • npm run dev.
  7. Para sair do container é só digitar exit.
  8. Para derrubar os containers basta executar docker-compose down.

⚠️IMPORTANTE

  • O comando docker-compose up -d --build deve ser utilizado APENAS NA PRIMEIRA VEZ QUE VOCÊ FOR SUBIR OS CONTAINERS.
  • Após a primeira vez o comando será apenas docker-compose up -d.

Endpoits

  • POST /user/login
      {
         "email":"gui@gui.com",
         "password": "senha12346789"
      }
  • POST /user/logout
  • POST /user/register
        {
            "email":"test@test.com",
            "password":"senha123546",
            "username":"user"
        }

Tecnologias utilizadas.

  • Node JS
  • Typescript
  • MySQL
  • Docker
  • Morgan
  • Cors
  • Jest
  • eslint