Skip to content

POG-SMD/POG-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend - POG

📋 Sobre o Projeto

Este é o backend dos POG. Ele utiliza Node.js, Express e Prisma para gerenciar APIs RESTful, autenticação JWT e operações de banco de dados PostgreSQL. O projeto inclui documentação automática com Swagger e validações robustas com Yup.


📦 Dependências e para que servem

Produção

  • @prisma/client: Cliente gerado pelo Prisma para interagir com o banco de dados.
  • bcrypt: Biblioteca para hash de senhas.
  • cors: Middleware para lidar com políticas de CORS.
  • dotenv: Carrega variáveis de ambiente de um arquivo .env.
  • express: Framework web para criar rotas e middlewares.
  • express-rate-limit: Middleware para limitar requisições por IP.
  • jsonwebtoken: Para criação e validação de tokens JWT.
  • swagger-jsdoc: Gera documentação para APIs automaticamente com base em comentários.
  • swagger-ui-express: Exibe a documentação gerada pelo Swagger.
  • yup: Para validações de objetos e schemas.

Desenvolvimento

  • jest: Framework para testes unitários.
  • nodemon: Reinicia o servidor automaticamente em desenvolvimento.
  • prisma: ORM para trabalhar com o banco de dados.
  • supertest: Para testes de APIs REST.

🛠️ Estrutura de Arquivos

  • index.js: Arquivo principal que inicia o servidor.
  • server.js: Configurações do servidor Express, incluindo middlewares e rotas.
  • prisma/schema.prisma: Modelo de dados usado pelo Prisma.
  • .env.sample: Exemplo de variáveis de ambiente necessárias.

⚙️ Configuração do Ambiente

1. Variáveis de Ambiente

Crie um arquivo .env na raiz do projeto baseado no .env.sample:

PORT=3000
NODE_ENV=development
DB_PASSWORD=sua_senha
DB_PORT=5432
DB_USER=seu_usuario
DB_HOST=localhost
DATABASE_URL=postgresql://seu_usuario:sua_senha@localhost:5432/nome_do_banco
JWT_SECRET=sua_chave_secreta

2. Configurando o Banco no PgAdmin

  1. Abra o PgAdmin e conecte-se ao servidor PostgreSQL.
  2. Crie um novo banco de dados com o nome desejado.
  3. Atualize a variável DATABASE_URL no arquivo .env com as credenciais do banco criado.
    Exemplo:
    DATABASE_URL=postgresql://postgres:senha@localhost:5432/meu_banco
    
  4. Certifique-se de que o banco de dados esteja funcionando corretamente ao testar a conexão no PgAdmin.

3. Inicialize o Prisma

  1. Execute o seguinte comando para sincronizar o schema do Prisma com o banco de dados:
    npx prisma db push
  2. Para criar e aplicar migrações no banco de dados, execute:
    npx prisma generate
  3. Após a migração, gere o cliente Prisma para interagir com o banco de dados:
    npx prisma migrate dev --name nome_da_migracao
  4. Para abrir o Prisma Studio e gerenciar os dados, execute:
    npx prisma studio

4. Rodando o Servidor

  1. Para iniciar o servidor em modo de desenvolvimento, use o seguinte comando
    npm run start:dev
  2. Para rodar o servidor em produção, utilize:
    npm run start:prod
  3. O servidor estará disponível no endereço, lá terá a documentação da API!:
    http://localhost:3000

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published