Skip to content
This repository was archived by the owner on Jun 4, 2024. It is now read-only.

Commit

Permalink
feat: seed for database
Browse files Browse the repository at this point in the history
  • Loading branch information
hermesalvesbr committed May 22, 2024
1 parent 8d408a1 commit b2bafe8
Show file tree
Hide file tree
Showing 13 changed files with 1,245 additions and 52 deletions.
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine-strict=true
3 changes: 2 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"singleQuote": true,
"trailingComma": "all"
"trailingComma": "all",
"semi": false
}
68 changes: 56 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,83 @@
# Projeto eduprime.hub
# Eduprime.hub Project

Este é o README do projeto eduprime.hub, que utiliza a extensão vscode-restclient para o Visual Studio Code.
Este é o README para o projeto eduprime.hub, que utiliza a extensão vscode-restclient para Visual Studio Code.

## Sobre a extensão vscode-restclient

A extensão [vscode-restclient](https://github.com/Huachao/vscode-restclient) é uma ferramenta poderosa para testar e depurar APIs diretamente no VSCode. Ela permite enviar solicitações HTTP personalizadas e visualizar as respostas de forma fácil e intuitiva. Com recursos como autenticação, cabeçalhos personalizados e suporte a várias solicitações, essa extensão é essencial para desenvolvedores que trabalham com APIs.
A extensão [vscode-restclient](https://github.com/Huachao/vscode-restclient) é uma ferramenta poderosa para testar e depurar APIs diretamente no VSCode. Ela permite enviar requisições HTTP personalizadas e visualizar as respostas de forma fácil e intuitiva. Com recursos como autenticação, cabeçalhos personalizados e suporte para múltiplas requisições, essa extensão é essencial para desenvolvedores que trabalham com APIs.

## Tecnologias utilizadas

O projeto eduprime.hub utiliza as seguintes tecnologias:

- [NestJS](https://nestjs.com/): um framework para construir aplicativos server-side com Node.js. Ele fornece uma arquitetura modular e escalável, facilitando o desenvolvimento de APIs robustas.
- [NestJS](https://nestjs.com/): um framework para construir aplicações server-side com Node.js. Ele fornece uma arquitetura modular e escalável, facilitando o desenvolvimento de APIs robustas.

- [Prisma](https://www.prisma.io/): um ORM (Object-Relational Mapping) moderno e poderoso para Node.js. Ele simplifica a interação com o banco de dados, permitindo que os desenvolvedores escrevam consultas em TypeScript.
- [Prisma](https://www.prisma.io/): um ORM (Object-Relational Mapping) moderno e poderoso para Node.js. Ele simplifica a interação com o banco de dados, permitindo que os desenvolvedores escrevam queries em TypeScript.

- [Fastify](https://www.fastify.io/): um framework web rápido e eficiente para Node.js. Ele é conhecido por sua velocidade e baixo consumo de recursos, tornando-o uma ótima escolha para construir APIs de alto desempenho.
- [Fastify](https://www.fastify.io/): um framework web rápido e eficiente para Node.js. Ele é conhecido por sua velocidade e baixo consumo de recursos, tornando-se uma ótima escolha para construir APIs de alto desempenho.

## Como executar o projeto

Siga as etapas abaixo para executar o projeto eduprime.hub:
Siga os passos abaixo para executar o projeto eduprime.hub:

1. Clone este repositório para o seu ambiente local.

2. Instale as dependências do projeto executando o comando `pnpm install`.
2. Instale as dependências do projeto executando o comando:

3. Inicie o servidor executando o comando `pnpm run start`.
```bash
pnpm install
```

4. Abra o VSCode e instale a extensão vscode-restclient.
3. Configure suas variáveis de ambiente no arquivo `.env` com a URL de conexão ao seu banco de dados PostgreSQL. Um exemplo de configuração de URL de conexão pode ser:

5. Abra o arquivo `requests.http` na pasta `src` para visualizar e executar as solicitações de exemplo.
```
DATABASE_URL="postgresql://user:password@localhost:5432/eduprime"
```

4. Gere o cliente Prisma e aplique as migrações ao banco de dados executando os seguintes comandos:

```bash
pnpm prisma generate
pnpm prisma migrate dev
```

5. Popule o banco de dados com dados iniciais executando o comando:

```bash
pnpm run seed
```

6. Inicie o servidor executando o comando:

```bash
pnpm run start
```

7. Abra o VSCode e instale a extensão vscode-restclient.

8. Abra o arquivo `requests.http` na pasta `src` para visualizar e executar as requisições de exemplo.

## Como popular o banco de dados

Para popular o banco de dados com dados iniciais, siga os passos abaixo:

1. **Resetar o banco de dados** (este comando apagará todos os dados existentes e aplicará as migrações):

```bash
pnpm prisma migrate reset
```

2. **Rodar o script de seed** para adicionar dados iniciais ao banco de dados:
```bash
pnpm run seed
```

O comando `pnpm prisma migrate reset` limpará o banco de dados, aplicará novamente todas as migrações e executará o script de seed configurado, populando o banco de dados com os dados iniciais.

## Contribuição

Contribuições são bem-vindas! Se você encontrar algum problema ou tiver alguma sugestão, sinta-se à vontade para abrir uma issue ou enviar um pull request.

## Licença

Este projeto está licenciado sob a [MIT License](LICENSE).
Este projeto é licenciado sob a [Licença MIT](LICENSE).
11 changes: 9 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "eduprime.hub",
"version": "0.0.1",
"description": "",
"author": "",
"description": "api for eduprime hub",
"author": "@hermesalvesbr",
"private": true,
"license": "MIT",
"scripts": {
Expand All @@ -14,6 +14,7 @@
"start:prod": "node dist/main",
"docker:start": "cd Docker && docker-compose --env-file ../.env up",
"docker:stop": "cd Docker && docker-compose --env-file ../.env down",
"seed": "ts-node prisma/seeds/seed.ts",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest",
"test:watch": "jest --watch",
Expand All @@ -25,7 +26,9 @@
"@nestjs/common": "^10.0.0",
"@nestjs/core": "^10.0.0",
"@nestjs/platform-express": "^10.0.0",
"@nestjs/platform-fastify": "^10.3.8",
"@prisma/client": "^5.14.0",
"fastify": "^4.27.0",
"prisma": "^5.14.0",
"reflect-metadata": "^0.2.0",
"rxjs": "^7.8.1"
Expand Down Expand Up @@ -69,5 +72,9 @@
],
"coverageDirectory": "../coverage",
"testEnvironment": "node"
},
"engines": {
"node": "22.x",
"pnpm": ">=9"
}
}
Loading

0 comments on commit b2bafe8

Please sign in to comment.