Este projeto é uma API REST simples para gerenciar usuários em um banco de dados MongoDB. A API oferece endpoints para obter a lista de usuários, criar um novo usuário, atualizar um usuário existente e deletar um usuário.
- Node.js: Ambiente de execução JavaScript
- Express: Framework para desenvolvimento de APIs RESTful
- Prisma Client: ORM (Object-Relational Mapper) para interagir com bancos de dados
- MongoDB: Banco de dados NoSQL
- Clone o repositório:
git clone https://github.com/barbaraishioka/users-crud-api.git
cd users-crud-api/
- Instale as dependências:
npm install
- Configure as variáveis de ambiente:
- Crie um arquivo .env na raiz do projeto e adicione a URL de conexão do MongoDB:
DATABASE_URL="mongodb+srv://<username>:<password>@cluster.mongodb.net/Users?retryWrites=true&w=majority&appName=Users"
- Configure o Prisma:
- Gere o client do Prisma:
npx prisma db push
- Inicie o Prisma Studio para visualizar e manipular os dados:
npx prisma studio
- Inicie o servidor de desenvolvimento:
npm run dev
O servidor estará disponível em http://localhost:3000.
- GET /users
- Retorna uma lista de todos os usuários.
- GET /users/
- Parâmetros: id (ID do usuário)
- Retorna os dados de um usuário específico.
- POST /users
- Corpo da requisição:
{
"name": "Nome do Usuário",
"email": "email@exemplo.com",
"age": 25
}
- Cria um novo usuário com os dados fornecidos.
- PUT /users/
- Parâmetros: id (ID do usuário)
- Corpo da requisição
{
"name": "Nome Atualizado",
"email": "email@exemplo.com",
"age": 26
}
- Atualiza os dados de um usuário específico.
- DELETE /users/
- Parâmetros: id (ID do usuário)
- Deleta um usuário específico.
-
Validação de campos obrigatórios: Verifica se os campos name, email e age estão presentes no corpo da requisição.
-
Verificação de existência do usuário: Verifica se o usuário existe no banco de dados antes de operações de busca, atualização ou deleção por ID.
-
index.js
: Arquivo principal da aplicação onde as rotas e middlewares são definidos. -
prisma/
: Pasta onde fica o arquivo de configuração do Prisma.schema.prisma
: Arquivo de configuração do Prisma onde são definidas as estruturas das tabelas do banco de dados.
-
.env
: Arquivo de variáveis de ambiente. -
package.json
: Arquivo de configuração do projeto, contendo informações sobre dependências e scripts. -
package-lock.json
: Arquivo de bloqueio de versões das dependências. -
.gitignore
: Arquivo que lista os arquivos e diretórios que devem ser ignorados pelo Git. -
README.md
: Arquivo README.md do projeto. -
info/
: Pasta onde detalhei meus aprendizados.-
conceitos.txt
: Arquivo com conceitos importantes sobre o projeto. -
passo-a-passo.txt
: Arquivo com o passo a passo para configuração e execução do projeto. -
sobre-projeto.txt
: Arquivo com informações detalhadas sobre o projeto e sua finalidade.
-
- Inicializar projeto:
npm init -y
- Instalar dependências:
npm install express dotenv @prisma/client
npm install prisma --save-dev
- Executar servidor em modo de desenvolvimento:
npm run dev
- Executar Prisma Studio:
npx prisma studio
- Gerar client do Prisma:
npx prisma db push
Bárbara Ishioka
Este projeto está licenciado sob a licença ISC.
-
Certifique-se de substituir
<username>
e<password>
nas variáveis de ambiente pelo seu nome de usuário e senha do MongoDB. -
Para fins de segurança, nunca compartilhe seu arquivo
.env
ou outras credenciais sensíveis publicamente. -
Use o Thunder Client, Prisma e Prisma Insider para facilitar o desenvolvimento e testes da API.