An open API service indexing awesome lists of open source software.

https://github.com/wdyitz/api_prisma_schema

Projeto focado em aprender novas tecnologias 💻 🚀
https://github.com/wdyitz/api_prisma_schema

api clean-code context-api design-patterns next postgres prisma react tailwind

Last synced: 3 months ago
JSON representation

Projeto focado em aprender novas tecnologias 💻 🚀

Awesome Lists containing this project

README

          

## Projeto de estudo pessoal, Aprendendo a utilizar ORM PRISMA e fazendo integração com API e banco de dados postgreSQL.

### Foram utilizados(a) as seguintes tecnologias nesse projeto:

* NEXT
* PRISMA
* API
* AXIOS
* POSTGRESSQL
* REACT
* NEXT AUTH
* TYPESCRIPT
* TAILWIND

### API Actions:

* Adicionar usuarios
* Deletar usuarios (basta clicar no usuario)
* Selecionar com paginação (2 usuarios por 'pagina')
* Selecionar usuario unico (client-side não implementado)
### CRUD imcompleto

### Autenticação

* Efetuar Login
* Efetuar Logout

### API esta localizada em `PAGES/API/USERS`

* Selecionar com paginação utilize a rota `http://localhost/api/users?page=id` sendo o id o numero da pagina.
* Selecionar unico usuario utilize a rota `http://localhost/api/users/id` sendo o id um numero.
- (o id deve ser o mesmo id utilizado na tabela `user`)
* Caso queira Deletar um usuario utilize a rota `http://localhost/api/users` adicione no `body` da requisição o id.
* Rota de mudança de usuario ainda nao implementada 100%


### Autenticação esta localizada em `PAGES/AUTH`

- A autenticação ocorre caso o email da tabela `user` seja igual ao email digitado.
- (autenticação por email, senha ainda não implementada utilize qualquer senha como EX: 123).

### - É necessario modificar algumas informações no arquivo `.env` onde as variaveis de ambiente ficam armazenadas, dentro do arquivo `.env` você deve adicionar no NEXTAUTH_SECRET um HASH aleatorio de 32 caracteres (alguns sites fazem isso pra você) e adicionar as informações do seu banco de dados no `DATABASE_URL` como no exemplo abaixo.

* `DATABASE_URL = "postgresql://nome:senha@localhost:5432/nome_do_db?schema=public"`

### Antes de iniciar o projeto use o comando `npx prisma db push` pra sincronizar o seu Schema do Prisma com o banco de dados.

### Primeiro inicie o ambiente de desenvolvimento:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Abra [http://localhost:3000](http://localhost:3000);