https://github.com/louiexz/yourcommenceapi
API backend de um sistema de e-commerce desenvolvido em C# com .NET. O sistema permite gestão de categorias, produtos e usuários.
https://github.com/louiexz/yourcommenceapi
api api-rest csharp dotnet ecommerce ecommerce-website
Last synced: 2 months ago
JSON representation
API backend de um sistema de e-commerce desenvolvido em C# com .NET. O sistema permite gestão de categorias, produtos e usuários.
- Host: GitHub
- URL: https://github.com/louiexz/yourcommenceapi
- Owner: Louiexz
- Created: 2025-02-03T01:11:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-20T19:51:45.000Z (about 1 year ago)
- Last Synced: 2025-07-18T06:32:37.586Z (12 months ago)
- Topics: api, api-rest, csharp, dotnet, ecommerce, ecommerce-website
- Language: C#
- Homepage:
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WebAPI
## Descrição
Esta é a API backend de um sistema de e-commerce desenvolvido em C# com .NET. O sistema permite gestão de categorias, produtos e usuários, utilizando MongoDB como banco de dados e autenticação via Bearer Token.
## Tecnologias Utilizadas
- .NET 8 (ou versão utilizada)
- MongoDB
- Swagger para documentação da API
- Autenticação via Bearer Token (JWT)
## Instalação e Configuração
1. Clone o repositório:
```sh
git clone https://github.com/Louiexz/WebAPI.git
```
2. Navegue até o diretório do projeto:
```sh
cd WebAPI
```
3. Configure as variáveis de ambiente no arquivo `appsettings.json`:
```json
{
"DatabaseSettings": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "sua_db"
},
"Jwt": {
"Key": "sua-chave-secreta",
"Issuer": "seu-dominio.com",
"Audience": "seu-dominio.com"
}
}
```
4. Execute a aplicação:
```sh
dotnet run
```
## Endpoints Principais
### Autenticação
- `POST /api/Auth/login`: Autentica um usuário e retorna um token JWT.
- `POST /api/Auth/user`: Registra um novo usuário.
- `POST /api/Auth/logout`: Desloga o usuário.
### Usuários
- `GET /api/User/user{id}`: Obtém detalhes de um usuário.
- `PATCH /api/User/user{id}`: Atualiza um usuário.
- `DELETE /api/User/user{id}`: Remove um usuário (admin).
### Categorias
- `GET /api/Categoty/categories`: Lista todas as categorias.
- `GET /api/Category/category{id}`: Obtém detalhes de uma categoria.
- `POST /api/Category`: Cria uma nova categoria (admin).
- `PATCH /api/Category/{id}`: Atualiza uma categoria (admin).
- `DELETE /api/DeleteCategory/{id}`: Remove uma categoria (admin).
### Produtos
- `GET /api/Product/products`: Lista todos os produtos.
- `GET /api/Product/categoryproducts{id}`: Lista produtos por categoria.
- `GET /api/Product/search{product}`: Procura por produtos.
- `GET /api/Product/product{id}`: Obtém detalhes de um produto.
- `POST /api/Product/product`: Cria um novo produto (admin).
- `PATCH /api/Product/product{id}`: Atualiza um produto (admin).
- `DELETE /api/Product/product{id}`: Remove um produto (admin).
### Imagens
- `GET /api/Image/image{id}`: Obtém uma imagem pelo ID.
## Testando a API
- Utilize o Swagger para testar os endpoints diretamente:
```sh
http://localhost:5000/swagger/index.html
```
- Para autenticação, utilize o token JWT obtido no endpoint de login.
- Acesse a documentação interativa via Swagger:
```sh
http://localhost:5000/swagger
```
- Utilize o Postman para testar os endpoints manualmente.
## Contribuição
1. Fork o repositório.
2. Crie um branch para sua funcionalidade (`git checkout -b minha-feature`).
3. Commit suas alterações (`git commit -m 'Adiciona nova funcionalidade'`).
4. Push para o branch (`git push origin minha-feature`).
5. Abra um Pull Request.
Contribuições são bem-vindas! Sinta-se à vontade para abrir um Pull Request ou relatar problemas.